Skip to content

Commit 89fa27c

Browse files
author
Daniel Kroening
authored
Merge pull request #3792 from tautschnig/deprecation-byte_extract_exprt
Construct byte_extract_exprt in a non-deprecated way
2 parents 443eb20 + 01a64af commit 89fa27c

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

src/goto-symex/symex_other.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -151,22 +151,24 @@ void goto_symext::symex_other(
151151
// check for size (or type) mismatch and adjust
152152
if(!base_type_eq(dest_array.type(), src_array.type(), ns))
153153
{
154-
byte_extract_exprt be(byte_extract_id());
155-
156154
if(statement==ID_array_copy)
157155
{
158-
be.op()=src_array;
159-
be.offset()=from_integer(0, index_type());
160-
be.type()=dest_array.type();
156+
byte_extract_exprt be(
157+
byte_extract_id(),
158+
src_array,
159+
from_integer(0, index_type()),
160+
dest_array.type());
161161
src_array.swap(be);
162162
do_simplify(src_array);
163163
}
164164
else
165165
{
166166
// ID_array_replace
167-
be.op()=dest_array;
168-
be.offset()=from_integer(0, index_type());
169-
be.type()=src_array.type();
167+
byte_extract_exprt be(
168+
byte_extract_id(),
169+
dest_array,
170+
from_integer(0, index_type()),
171+
src_array.type());
170172
dest_array.swap(be);
171173
do_simplify(dest_array);
172174
}

src/solvers/lowering/byte_operators.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -411,11 +411,10 @@ static exprt lower_byte_update(
411411
src.id() == ID_byte_update_little_endian
412412
? ID_byte_extract_little_endian
413413
: ID_byte_extract_big_endian,
414+
src.value(),
415+
i_expr,
414416
subtype);
415417

416-
byte_extract_expr.op() = src.value();
417-
byte_extract_expr.offset()=i_expr;
418-
419418
new_value=lower_byte_extract(byte_extract_expr, ns);
420419
}
421420

@@ -483,11 +482,9 @@ static exprt lower_byte_update(
483482
src.id() == ID_byte_update_little_endian
484483
? ID_byte_extract_little_endian
485484
: ID_byte_extract_big_endian,
485+
src.value(), stored_value_offset,
486486
element_size < sub_size ? src.value().type() : subtype);
487487

488-
byte_extract_expr.op() = src.value();
489-
byte_extract_expr.offset()=stored_value_offset;
490-
491488
new_value=lower_byte_extract(byte_extract_expr, ns);
492489
}
493490

0 commit comments

Comments
 (0)