Skip to content

Commit 412d040

Browse files
authored
Merge pull request #6684 from tautschnig/cleanup/pragma-instead-of-C_bounds_check
Remove ID_C_bounds_check special-case in goto_check_ct
2 parents 2aa8eaf + 4d4f9e7 commit 412d040

File tree

3 files changed

+7
-17
lines changed

3 files changed

+7
-17
lines changed

src/analyses/goto_check_c.cpp

-7
Original file line numberDiff line numberDiff line change
@@ -1505,13 +1505,6 @@ void goto_check_ct::bounds_check(const exprt &expr, const guardt &guard)
15051505
if(!enable_bounds_check)
15061506
return;
15071507

1508-
if(
1509-
expr.find(ID_C_bounds_check).is_not_nil() &&
1510-
!expr.get_bool(ID_C_bounds_check))
1511-
{
1512-
return;
1513-
}
1514-
15151508
if(expr.id() == ID_index)
15161509
bounds_check_index(to_index_expr(expr), guard);
15171510
else if(

src/ansi-c/ansi_c_entry_point.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -410,10 +410,10 @@ bool generate_ansi_c_start_function(
410410
index_exprt index_expr(
411411
argv_symbol.symbol_expr(), argc_symbol.symbol_expr());
412412

413-
// disable bounds check on that one
414-
index_expr.set(ID_C_bounds_check, false);
415-
416413
init_code.add(code_frontend_assignt(index_expr, null));
414+
// disable bounds check on that one
415+
init_code.statements().back().add_source_location().add_pragma(
416+
"disable:bounds-check");
417417
}
418418

419419
if(parameters.size()==3)
@@ -427,12 +427,13 @@ bool generate_ansi_c_start_function(
427427

428428
index_exprt index_expr(
429429
envp_symbol.symbol_expr(), envp_size_symbol.symbol_expr());
430-
// disable bounds check on that one
431-
index_expr.set(ID_C_bounds_check, false);
432430

433431
equal_exprt is_null(std::move(index_expr), std::move(null));
434432

435433
init_code.add(code_assumet(is_null));
434+
// disable bounds check on that one
435+
init_code.statements().back().add_source_location().add_pragma(
436+
"disable:bounds-check");
436437
}
437438

438439
{
@@ -452,9 +453,8 @@ bool generate_ansi_c_start_function(
452453
{
453454
index_exprt index_expr(
454455
argv_symbol.symbol_expr(), from_integer(0, c_index_type()));
455-
456456
// disable bounds check on that one
457-
index_expr.set(ID_C_bounds_check, false);
457+
index_expr.add_source_location().add_pragma("disable:bounds-check");
458458

459459
const pointer_typet &pointer_type =
460460
to_pointer_type(parameters[1].type());

src/goto-programs/string_abstraction.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -568,9 +568,6 @@ void string_abstractiont::abstract_function_call(
568568
"argument array type differs from formal parameter pointer type");
569569

570570
index_exprt idx(str_args.back(), from_integer(0, c_index_type()));
571-
// disable bounds check on that one
572-
idx.set(ID_C_bounds_check, false);
573-
574571
str_args.back()=address_of_exprt(idx);
575572
}
576573

0 commit comments

Comments
 (0)