Skip to content

Commit 95cab0d

Browse files
committed
Fix unit tests to work for pointer subtraction
1 parent ec40a7b commit 95cab0d

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

unit/solvers/smt2_incremental/convert_expr_to_smt.cpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -479,10 +479,20 @@ TEST_CASE(
479479
SECTION("Subtraction of two pointer arguments")
480480
{
481481
// (int32_t *)a - (int32_t *)b
482-
const auto constructed_term =
483-
test.convert(minus_exprt{pointer_b, pointer_a});
484-
const auto expected_term =
485-
smt_bit_vector_theoryt::subtract(smt_term_b, smt_term_a);
482+
const auto pointer_subtraction = minus_exprt{pointer_b, pointer_a};
483+
const symbol_tablet symbol_table;
484+
const namespacet ns{symbol_table};
485+
track_expression_objects(pointer_subtraction, ns, test.object_map);
486+
associate_pointer_sizes(
487+
pointer_subtraction,
488+
ns,
489+
test.pointer_sizes,
490+
test.object_map,
491+
test.object_size_function.make_application);
492+
const auto constructed_term = test.convert(pointer_subtraction);
493+
const auto expected_term = smt_bit_vector_theoryt::unsigned_divide(
494+
smt_bit_vector_theoryt::subtract(smt_term_b, smt_term_a),
495+
smt_term_four_32bit);
486496
CHECK(constructed_term == expected_term);
487497
}
488498

0 commit comments

Comments
 (0)