Skip to content

Commit c7c382e

Browse files
author
Daniel Kroening
committed
more work on byte_update flattening
1 parent 62ab50c commit c7c382e

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/solvers/flattening/flatten_byte_operators.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,19 +264,23 @@ exprt flatten_byte_update(
264264

265265
for(mp_integer i=0; i<element_size; ++i)
266266
{
267-
exprt i_expr=from_integer(i, ns.follow(src.op1().type()));
268-
269267
exprt new_value;
270268

271269
if(element_size==1)
272270
new_value=src.op2();
273271
else
274272
{
273+
exprt i_expr=from_integer(i, ns.follow(src.op1().type()));
274+
275275
byte_extract_exprt byte_extract_expr(
276276
src.id()==ID_byte_update_little_endian?ID_byte_extract_little_endian:
277277
src.id()==ID_byte_update_big_endian?ID_byte_extract_big_endian:
278278
throw "unexpected src.id() in flatten_byte_update",
279279
array_type.subtype());
280+
281+
byte_extract_expr.op()=src.op2();
282+
byte_extract_expr.offset()=i_expr;
283+
280284
new_value=byte_extract_expr;
281285
}
282286

0 commit comments

Comments
 (0)