Skip to content

Commit 275510d

Browse files
authored
Merge pull request #7751 from jparsert/fix_cpp20_requires_keyword
Changed "requires" as variable names to differentiate from c++20 keyword requires
2 parents eca493e + fadd0be commit 275510d

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

src/goto-instrument/contracts/dynamic-frames/dfcc_wrapper_program.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -553,10 +553,14 @@ void dfcc_wrapper_programt::encode_requires_clauses()
553553
// translate each requires clause
554554
for(const auto &r : contract_code_type.c_requires())
555555
{
556-
exprt requires = to_lambda_expr(r).application(contract_lambda_parameters);
557-
requires.add_source_location() = r.source_location();
558-
if(has_subexpr(requires, ID_exists) || has_subexpr(requires, ID_forall))
559-
add_quantified_variable(goto_model.symbol_table, requires, language_mode);
556+
exprt requires_lmbd =
557+
to_lambda_expr(r).application(contract_lambda_parameters);
558+
requires_lmbd.add_source_location() = r.source_location();
559+
if(
560+
has_subexpr(requires_lmbd, ID_exists) ||
561+
has_subexpr(requires_lmbd, ID_forall))
562+
add_quantified_variable(
563+
goto_model.symbol_table, requires_lmbd, language_mode);
560564

561565
source_locationt sl(r.source_location());
562566
if(statement_type == ID_assert)
@@ -566,7 +570,7 @@ void dfcc_wrapper_programt::encode_requires_clauses()
566570
"Check requires clause of contract " + id2string(contract_symbol.name) +
567571
" for function " + id2string(wrapper_id));
568572
}
569-
codet requires_statement(statement_type, {std::move(requires)}, sl);
573+
codet requires_statement(statement_type, {std::move(requires_lmbd)}, sl);
570574
converter.goto_convert(requires_statement, requires_program, language_mode);
571575
}
572576

src/goto-instrument/contracts/memory_predicates.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ void find_is_fresh_calls_visitort::operator()(goto_programt &prog)
111111
}
112112
}
113113

114-
void is_fresh_baset::update_requires(goto_programt &requires)
114+
void is_fresh_baset::update_requires(goto_programt &requires_)
115115
{
116116
find_is_fresh_calls_visitort requires_visitor;
117-
requires_visitor(requires);
117+
requires_visitor(requires_);
118118
for(auto it : requires_visitor.is_fresh_calls())
119119
{
120120
create_requires_fn_call(it);

src/goto-instrument/contracts/memory_predicates.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class is_fresh_baset
3333
{
3434
}
3535

36-
void update_requires(goto_programt &requires);
36+
void update_requires(goto_programt &requires_);
3737
void update_ensures(goto_programt &ensures);
3838

3939
virtual void create_declarations() = 0;

0 commit comments

Comments
 (0)