@@ -45,7 +45,8 @@ TEST_CASE("\"typet\" to smt sort conversion", "[core][smt2_incremental]")
4545
4646smt_termt convert_expr_to_smt (const exprt &expression)
4747{
48- return convert_expr_to_smt (expression, initial_smt_object_map ());
48+ return convert_expr_to_smt (
49+ expression, initial_smt_object_map (), smt_object_sizet{}.make_application );
4950}
5051
5152TEST_CASE (" \" symbol_exprt\" to smt term conversion" , " [core][smt2_incremental]" )
@@ -1092,6 +1093,7 @@ TEST_CASE(
10921093 config.ansi_c .set_arch_spec_x86_64 ();
10931094 const symbol_tablet symbol_table;
10941095 const namespacet ns{symbol_table};
1096+ const smt_object_sizet object_size;
10951097 smt_object_mapt object_map = initial_smt_object_map ();
10961098 const symbol_exprt foo{" foo" , unsignedbv_typet{32 }};
10971099 const symbol_exprt bar{" bar" , unsignedbv_typet{32 }};
@@ -1103,7 +1105,8 @@ TEST_CASE(
11031105 SECTION (" 8 object bits" )
11041106 {
11051107 config.bv_encoding .object_bits = 8 ;
1106- const auto converted = convert_expr_to_smt (address_of_foo, object_map);
1108+ const auto converted = convert_expr_to_smt (
1109+ address_of_foo, object_map, object_size.make_application );
11071110 CHECK (object_map.at (foo).unique_id == 1 );
11081111 CHECK (
11091112 converted == smt_bit_vector_theoryt::concat (
@@ -1113,7 +1116,8 @@ TEST_CASE(
11131116 SECTION (" 16 object bits" )
11141117 {
11151118 config.bv_encoding .object_bits = 16 ;
1116- const auto converted = convert_expr_to_smt (address_of_foo, object_map);
1119+ const auto converted = convert_expr_to_smt (
1120+ address_of_foo, object_map, object_size.make_application );
11171121 CHECK (object_map.at (foo).unique_id == 1 );
11181122 CHECK (
11191123 converted == smt_bit_vector_theoryt::concat (
@@ -1129,15 +1133,17 @@ TEST_CASE(
11291133 exprt address_of = address_of_exprt{foo};
11301134 address_of.type () = bool_typet{};
11311135 REQUIRE_THROWS_MATCHES (
1132- convert_expr_to_smt (address_of, object_map),
1136+ convert_expr_to_smt (
1137+ address_of, object_map, object_size.make_application ),
11331138 invariant_failedt,
11341139 invariant_failure_containing (
11351140 " Result of the address_of operator should have pointer type." ));
11361141 }
11371142 SECTION (" Objects should already be tracked" )
11381143 {
11391144 REQUIRE_THROWS_MATCHES (
1140- convert_expr_to_smt (address_of_exprt{foo}, object_map),
1145+ convert_expr_to_smt (
1146+ address_of_exprt{foo}, object_map, object_size.make_application ),
11411147 invariant_failedt,
11421148 invariant_failure_containing (" Objects should be tracked before "
11431149 " converting their address to SMT terms" ));
@@ -1149,7 +1155,8 @@ TEST_CASE(
11491155 track_expression_objects (address_of_foo, ns, object_map);
11501156 object_map.at (foo).unique_id = 256 ;
11511157 REQUIRE_THROWS_MATCHES (
1152- convert_expr_to_smt (address_of_exprt{foo}, object_map),
1158+ convert_expr_to_smt (
1159+ address_of_exprt{foo}, object_map, object_size.make_application ),
11531160 invariant_failedt,
11541161 invariant_failure_containing (" There should be sufficient bits to "
11551162 " encode unique object identifier." ));
@@ -1161,7 +1168,8 @@ TEST_CASE(
11611168 track_expression_objects (address_of_foo, ns, object_map);
11621169 object_map.at (foo).unique_id = 256 ;
11631170 REQUIRE_THROWS_MATCHES (
1164- convert_expr_to_smt (address_of_exprt{foo}, object_map),
1171+ convert_expr_to_smt (
1172+ address_of_exprt{foo}, object_map, object_size.make_application ),
11651173 invariant_failedt,
11661174 invariant_failure_containing (" Pointer should be wider than object_bits "
11671175 " in order to allow for offset encoding." ));
@@ -1174,7 +1182,8 @@ TEST_CASE(
11741182 notequal_exprt{address_of_exprt{foo}, address_of_exprt{bar}};
11751183 track_expression_objects (comparison, ns, object_map);
11761184 INFO (" Expression " + comparison.pretty (1 , 0 ));
1177- const auto converted = convert_expr_to_smt (comparison, object_map);
1185+ const auto converted =
1186+ convert_expr_to_smt (comparison, object_map, object_size.make_application );
11781187 CHECK (object_map.at (foo).unique_id == 2 );
11791188 CHECK (object_map.at (bar).unique_id == 1 );
11801189 CHECK (
0 commit comments