File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed
Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ Author: Daniel Kroening, kroening@kroening.com
2626#include < util/options.h>
2727#include < util/pointer_offset_size.h>
2828#include < util/pointer_predicates.h>
29+ #include < util/prefix.h>
2930#include < util/simplify_expr.h>
3031#include < util/std_expr.h>
3132#include < util/std_types.h>
@@ -1187,12 +1188,23 @@ void goto_checkt::pointer_primitive_check(
11871188 if (!enable_pointer_primitive_check)
11881189 return ;
11891190
1191+ if (expr.source_location ().is_built_in ())
1192+ return ;
1193+
11901194 const exprt pointer = (expr.id () == ID_r_ok || expr.id () == ID_w_ok)
11911195 ? to_binary_expr (expr).lhs ()
11921196 : to_unary_expr (expr).op ();
11931197
11941198 CHECK_RETURN (pointer.type ().id () == ID_pointer);
11951199
1200+ if (pointer.id () == ID_symbol)
1201+ {
1202+ const auto &symbol_expr = to_symbol_expr (pointer);
1203+
1204+ if (has_prefix (id2string (symbol_expr.get_identifier ()), CPROVER_PREFIX))
1205+ return ;
1206+ }
1207+
11961208 const auto size_of_expr_opt = size_of_expr (pointer.type ().subtype (), ns);
11971209
11981210 const exprt size = !size_of_expr_opt.has_value ()
You can’t perform that action at this time.
0 commit comments