Skip to content

Commit bcc4dc4

Browse files
committed
Use byte_extract_exprt constructor
1 parent da63652 commit bcc4dc4

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

src/goto-symex/symex_dereference.cpp

+7-8
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,8 @@ exprt goto_symext::address_arithmetic(
148148
object_descriptor_exprt ode;
149149
ode.build(expr, ns);
150150

151-
byte_extract_exprt be(byte_extract_id());
152-
be.type()=expr.type();
153-
be.op()=ode.root_object();
154-
be.offset()=ode.offset();
151+
const byte_extract_exprt be(
152+
byte_extract_id(), ode.root_object(), ode.offset(), expr.type());
155153

156154
// recursive call
157155
result=address_arithmetic(be, state, guard, keep_array);
@@ -206,10 +204,11 @@ exprt goto_symext::address_arithmetic(
206204

207205
if(offset>0)
208206
{
209-
byte_extract_exprt be(byte_extract_id());
210-
be.type()=expr.type();
211-
be.op()=to_ssa_expr(expr).get_l1_object();
212-
be.offset()=from_integer(offset, index_type());
207+
const byte_extract_exprt be(
208+
byte_extract_id(),
209+
to_ssa_expr(expr).get_l1_object(),
210+
from_integer(offset, index_type()),
211+
expr.type());
213212

214213
result=address_arithmetic(be, state, guard, keep_array);
215214

src/pointer-analysis/dereference.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ exprt dereferencet::read_object(
147147
}
148148

149149
// give up and use byte_extract
150-
return binary_exprt(object, byte_extract_id(), simplified_offset, dest_type);
150+
return byte_extract_exprt(
151+
byte_extract_id(), object, simplified_offset, dest_type);
151152
}
152153

153154
exprt dereferencet::dereference_rec(

src/pointer-analysis/value_set_dereference.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -441,10 +441,11 @@ value_set_dereferencet::valuet value_set_dereferencet::build_reference_to(
441441
}
442442
else
443443
{
444-
exprt byte_extract(byte_extract_id(), dereference_type);
445-
byte_extract.copy_to_operands(
446-
symbol_expr, pointer_offset(pointer_expr));
447-
result.value=byte_extract;
444+
result.value = byte_extract_exprt(
445+
byte_extract_id(),
446+
symbol_expr,
447+
pointer_offset(pointer_expr),
448+
dereference_type);
448449
}
449450
}
450451
}
@@ -852,8 +853,7 @@ bool value_set_dereferencet::memory_model_bytes(
852853
else
853854
{
854855
// no, use 'byte_extract'
855-
result=exprt(byte_extract_id(), to_type);
856-
result.copy_to_operands(value, offset);
856+
result = byte_extract_exprt(byte_extract_id(), value, offset, to_type);
857857
}
858858

859859
value=result;

src/util/simplify_expr_struct.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Author: Daniel Kroening, [email protected]
1010

1111
#include <cassert>
1212

13+
#include "byte_operators.h"
1314
#include "expr.h"
1415
#include "namespace.h"
1516
#include "std_expr.h"
@@ -167,8 +168,7 @@ bool simplify_exprt::simplify_member(exprt &expr)
167168
plus_exprt final_offset(struct_offset, member_offset);
168169
simplify_node(final_offset);
169170

170-
exprt result(op.id(), expr.type());
171-
result.copy_to_operands(op.op0(), final_offset);
171+
byte_extract_exprt result(op.id(), op.op0(), final_offset, expr.type());
172172
expr.swap(result);
173173

174174
simplify_rec(expr);

0 commit comments

Comments
 (0)