Skip to content

Commit d83df19

Browse files
committed
replace direct access to goto_instructiont::guard
1 parent 35fa7b1 commit d83df19

File tree

7 files changed

+19
-14
lines changed

7 files changed

+19
-14
lines changed

src/analyses/variable-sensitivity/variable_sensitivity_dependence_graph.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ void variable_sensitivity_dependence_domaint::data_dependencies(
195195
}
196196
else if(to->is_goto())
197197
{
198-
eval_data_deps(to->guard, ns, domain_data_deps);
198+
eval_data_deps(to->condition(), ns, domain_data_deps);
199199
}
200200
}
201201

src/goto-checker/symex_bmc.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ void symex_bmct::symex_step(
5757

5858
if(
5959
!state.guard.is_false() && state.source.pc->is_assume() &&
60-
simplify_expr(state.source.pc->guard, ns).is_false())
60+
simplify_expr(state.source.pc->condition(), ns).is_false())
6161
{
6262
log.statistics() << "aborting path on assume(false) at "
6363
<< state.source.pc->source_location << " thread "
@@ -86,7 +86,7 @@ void symex_bmct::symex_step(
8686
// sure the goto is considered covered
8787
if(
8888
cur_pc->is_goto() && cur_pc->get_target() != state.source.pc &&
89-
cur_pc->guard.is_true())
89+
cur_pc->condition().is_true())
9090
symex_coverage.covered(cur_pc, cur_pc->get_target());
9191
else if(!state.guard.is_false())
9292
symex_coverage.covered(cur_pc, state.source.pc);
@@ -109,7 +109,7 @@ void symex_bmct::merge_goto(
109109
// could the branch possibly be taken?
110110
!prev_guard.is_false() && !state.guard.is_false() &&
111111
// branches only, no single-successor goto
112-
!prev_pc->guard.is_true())
112+
!prev_pc->condition().is_true())
113113
symex_coverage.covered(prev_pc, state.source.pc);
114114
}
115115

src/goto-instrument/cover_instrument_branch.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ void cover_branch_instrumentert::instrument(
2525

2626
const bool is_function_entry_point =
2727
i_it == goto_program.instructions.begin();
28-
const bool is_conditional_goto = i_it->is_goto() && !i_it->guard.is_true();
28+
const bool is_conditional_goto =
29+
i_it->is_goto() && !i_it->condition().is_true();
2930
if(!is_function_entry_point && !is_conditional_goto)
3031
return;
3132

@@ -52,7 +53,7 @@ void cover_branch_instrumentert::instrument(
5253
std::string true_comment = "block " + b + " branch true";
5354
std::string false_comment = "block " + b + " branch false";
5455

55-
exprt guard = i_it->guard;
56+
exprt guard = i_it->condition();
5657
source_locationt source_location = i_it->source_location;
5758

5859
goto_program.insert_before_swap(i_it);

src/goto-programs/goto_convert.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ void goto_convertt::convert_loop_contracts(
876876
}
877877

878878
PRECONDITION(loop->is_goto());
879-
loop->guard.add(ID_C_spec_loop_invariant).swap(invariant);
879+
loop->condition_nonconst().add(ID_C_spec_loop_invariant).swap(invariant);
880880
}
881881

882882
if(!decreases_clause.is_nil())
@@ -889,7 +889,7 @@ void goto_convertt::convert_loop_contracts(
889889
}
890890

891891
PRECONDITION(loop->is_goto());
892-
loop->guard.add(ID_C_spec_decreases).swap(decreases_clause);
892+
loop->condition_nonconst().add(ID_C_spec_decreases).swap(decreases_clause);
893893
}
894894
}
895895

src/goto-programs/remove_virtual_functions.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,8 @@ static goto_programt::targett replace_virtual_function_with_dispatch_table(
421421
!new_code_gotos.empty(),
422422
"a dispatch table entry has been processed already, "
423423
"which should have created a GOTO");
424-
new_code_gotos.instructions.back().guard =
425-
or_exprt(new_code_gotos.instructions.back().guard, class_id_test);
424+
new_code_gotos.instructions.back().condition_nonconst() = or_exprt(
425+
new_code_gotos.instructions.back().condition(), class_id_test);
426426
}
427427
else
428428
{

src/goto-programs/show_goto_functions_json.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,11 @@ json_objectt show_goto_functions_jsont::convert(
9595
instruction_entry["operands"] = std::move(operand_array);
9696
}
9797

98-
if(!instruction.guard.is_true())
98+
if(instruction.has_condition())
9999
{
100-
json_objectt guard_object=
100+
json_objectt guard_object =
101101
no_comments_irep_converter.convert_from_irep(
102-
instruction.guard);
102+
instruction.condition());
103103

104104
instruction_entry["guard"] = std::move(guard_object);
105105
}

src/goto-programs/write_goto_binary.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,11 @@ bool write_goto_binary(
9898
irepconverter.reference_convert(instruction.get_code(), out);
9999
irepconverter.reference_convert(instruction.source_location, out);
100100
write_gb_word(out, (long)instruction.type);
101-
irepconverter.reference_convert(instruction.guard, out);
101+
102+
const auto condition =
103+
instruction.has_condition() ? instruction.condition() : true_exprt();
104+
irepconverter.reference_convert(condition, out);
105+
102106
write_gb_word(out, instruction.target_number);
103107

104108
write_gb_word(out, instruction.targets.size());

0 commit comments

Comments
 (0)