Skip to content

Commit d53377b

Browse files
committed
Revert "integer dereferences are now re-written to a custom expression"
This reverts commit 2b17564. ID_integer_dereference has not been supported in any back-end. The new pointer encoding should happily take care of such integer -> pointer type casts.
1 parent f373e8f commit d53377b

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/pointer-analysis/dereference.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,17 +264,20 @@ exprt dereferencet::dereference_typecast(
264264
return dereference_rec(op, offset, type); // just pass down
265265
else if(op_type.id()==ID_signedbv || op_type.id()==ID_unsignedbv)
266266
{
267-
// We got an integer-typed address A. We turn this
268-
// into integer_dereference(A+offset),
269-
// and then let some other layer worry about it.
267+
// We got an integer-typed address A. We turn this back (!)
268+
// into *(type *)(A+offset), and then let some other layer
269+
// worry about it.
270270

271271
exprt integer=op;
272272

273273
if(!offset.is_zero())
274274
integer=
275275
plus_exprt(offset, typecast_exprt(op, offset.type()));
276276

277-
return unary_exprt(ID_integer_dereference, integer, type);
277+
exprt new_typecast=
278+
typecast_exprt(integer, pointer_type(type));
279+
280+
return dereference_exprt(new_typecast, type);
278281
}
279282
else
280283
throw "dereferencet: unexpected cast";

src/util/irep_ids.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,6 @@ IREP_ID_ONE(array_replace)
827827
IREP_ID_ONE(switch_case_number)
828828
IREP_ID_ONE(java_array_access)
829829
IREP_ID_ONE(java_member_access)
830-
IREP_ID_ONE(integer_dereference)
831830
IREP_ID_TWO(C_java_generic_parameter, #java_generic_parameter)
832831
IREP_ID_TWO(C_java_generic_type, #java_generic_type)
833832
IREP_ID_TWO(C_java_generics_class_type, #java_generics_class_type)

0 commit comments

Comments
 (0)