Skip to content

Commit 1f94bce

Browse files
committed
byte_extract lowering: lower newly introduced byte_extract expressions
byte_extract lowering must not return any further byte_extract expressions.
1 parent ccd97d4 commit 1f94bce

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

src/solvers/lowering/byte_operators.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ exprt lower_byte_extract(const byte_extract_exprt &src, const namespacet &ns)
289289
tmp.type()=comp.type();
290290
tmp.offset()=new_offset;
291291

292-
s.add_to_operands(std::move(tmp));
292+
s.add_to_operands(lower_byte_extract(tmp, ns));
293293
}
294294

295295
if(!failed)

unit/solvers/lowering/byte_operators.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,8 @@ SCENARIO("byte_extract_lowering", "[core][solvers][lowering][byte_extract]")
162162
const exprt lower_be = lower_byte_extract(be, ns);
163163
const exprt lower_be_s = simplify_expr(lower_be, ns);
164164

165-
// TODO: does not currently hold
166-
// REQUIRE(!has_subexpr(lower_be, ID_byte_extract_little_endian));
167-
// REQUIRE(!has_subexpr(lower_be, ID_byte_extract_big_endian));
165+
REQUIRE(!has_subexpr(lower_be, ID_byte_extract_little_endian));
166+
REQUIRE(!has_subexpr(lower_be, ID_byte_extract_big_endian));
168167
REQUIRE(lower_be.type() == be.type());
169168
// TODO: does not currently hold
170169
// REQUIRE(lower_be == r);

0 commit comments

Comments
 (0)