@@ -31,17 +31,17 @@ bool pointer_logict::is_dynamic_object(const exprt &expr) const
3131 SYMEX_DYNAMIC_PREFIX));
3232}
3333
34- void pointer_logict::get_dynamic_objects (std::vector<std:: size_t > &o) const
34+ void pointer_logict::get_dynamic_objects (std::vector<mp_integer > &o) const
3535{
3636 o.clear ();
37- std:: size_t nr= 0 ;
37+ mp_integer nr = 0 ;
3838
3939 for (auto it = objects.cbegin (); it != objects.cend (); ++it, ++nr)
4040 if (is_dynamic_object (*it))
4141 o.push_back (nr);
4242}
4343
44- std:: size_t pointer_logict::add_object (const exprt &expr)
44+ mp_integer pointer_logict::add_object (const exprt &expr)
4545{
4646 // remove any index/member
4747
@@ -58,11 +58,10 @@ std::size_t pointer_logict::add_object(const exprt &expr)
5858}
5959
6060exprt pointer_logict::pointer_expr (
61- std:: size_t object,
61+ const mp_integer & object,
6262 const pointer_typet &type) const
6363{
64- pointert pointer (object, 0 );
65- return pointer_expr (pointer, type);
64+ return pointer_expr ({object, 0 }, type);
6665}
6766
6867exprt pointer_logict::pointer_expr (
@@ -89,10 +88,11 @@ exprt pointer_logict::pointer_expr(
8988
9089 if (pointer.object >=objects.size ())
9190 {
92- return constant_exprt (" INVALID-" + std::to_string (pointer.object ), type);
91+ return constant_exprt (" INVALID-" + integer2string (pointer.object ), type);
9392 }
9493
95- const exprt &object_expr=objects[pointer.object ];
94+ const exprt &object_expr =
95+ objects[numeric_cast_v<std::size_t >(pointer.object )];
9696
9797 typet subtype = type.base_type ();
9898 // This is a gcc extension.
0 commit comments