@@ -991,7 +991,8 @@ void goto_checkt::pointer_validity_check(
991991 allocs=disjunction (disjuncts);
992992 }
993993
994- if (flags.is_unknown () || flags.is_null ())
994+ if (flags.is_unknown () ||
995+ flags.is_null ())
995996 {
996997 add_guarded_claim (
997998 or_exprt (allocs, not_exprt (null_pointer (pointer))),
@@ -1002,7 +1003,8 @@ void goto_checkt::pointer_validity_check(
10021003 guard);
10031004 }
10041005
1005- if (flags.is_unknown ())
1006+ if (flags.is_unknown () ||
1007+ flags.is_integer_address ())
10061008 add_guarded_claim (
10071009 or_exprt (allocs, not_exprt (invalid_pointer (pointer))),
10081010 " dereference failure: pointer invalid" ,
@@ -1020,7 +1022,9 @@ void goto_checkt::pointer_validity_check(
10201022 expr,
10211023 guard);
10221024
1023- if (flags.is_unknown () || flags.is_dynamic_heap ())
1025+ if (flags.is_unknown () ||
1026+ flags.is_dynamic_heap () ||
1027+ flags.is_integer_address ())
10241028 add_guarded_claim (
10251029 or_exprt (allocs, not_exprt (deallocated (pointer, ns))),
10261030 " dereference failure: deallocated dynamic object" ,
@@ -1029,7 +1033,9 @@ void goto_checkt::pointer_validity_check(
10291033 expr,
10301034 guard);
10311035
1032- if (flags.is_unknown () || flags.is_dynamic_local ())
1036+ if (flags.is_unknown () ||
1037+ flags.is_dynamic_local () ||
1038+ flags.is_integer_address ())
10331039 add_guarded_claim (
10341040 or_exprt (allocs, not_exprt (dead_object (pointer, ns))),
10351041 " dereference failure: dead object" ,
@@ -1038,7 +1044,9 @@ void goto_checkt::pointer_validity_check(
10381044 expr,
10391045 guard);
10401046
1041- if (flags.is_unknown () || flags.is_dynamic_heap ())
1047+ if (flags.is_unknown () ||
1048+ flags.is_dynamic_heap () ||
1049+ flags.is_integer_address ())
10421050 {
10431051 const or_exprt dynamic_bounds (
10441052 dynamic_object_lower_bound (pointer, ns, access_lb),
@@ -1059,7 +1067,8 @@ void goto_checkt::pointer_validity_check(
10591067
10601068 if (flags.is_unknown () ||
10611069 flags.is_dynamic_local () ||
1062- flags.is_static_lifetime ())
1070+ flags.is_static_lifetime () ||
1071+ flags.is_integer_address ())
10631072 {
10641073 const or_exprt object_bounds (
10651074 object_lower_bound (pointer, ns, access_lb),
0 commit comments