File tree 2 files changed +26
-0
lines changed
2 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -277,6 +277,22 @@ void update_properties_status_not_checked(
277
277
}
278
278
}
279
279
280
+ void update_properties_status_unknown (
281
+ propertiest &properties,
282
+ std::unordered_set<irep_idt> &updated_properties)
283
+ {
284
+ for (auto &property_pair : properties)
285
+ {
286
+ if (property_pair.second .status == property_statust::UNKNOWN)
287
+ {
288
+ // This could have any status except NOT_CHECKED.
289
+ // We consider them PASS because we do verification modulo bounds.
290
+ property_pair.second .status = property_statust::PASS;
291
+ updated_properties.insert (property_pair.first );
292
+ }
293
+ }
294
+ }
295
+
280
296
void output_coverage_report (
281
297
const std::string &cov_out,
282
298
const abstract_goto_modelt &goto_model,
Original file line number Diff line number Diff line change @@ -117,6 +117,16 @@ void update_properties_status_not_checked(
117
117
propertiest &properties,
118
118
std::unordered_set<irep_idt> &updated_properties);
119
119
120
+ // / Sets property status for UNKNOWN properties.
121
+ // / \param [inout] properties: The status is updated in this data structure
122
+ // / \param [inout] updated_properties: The set of property IDs of
123
+ // / updated properties
124
+ // / Note: we currently declare everything PASS that is UNKNOWN at the
125
+ // / end of the model checking algorithm.
126
+ void update_properties_status_unknown (
127
+ propertiest &properties,
128
+ std::unordered_set<irep_idt> &updated_properties);
129
+
120
130
// clang-format off
121
131
#define OPT_BMC \
122
132
" (program-only)" \
You can’t perform that action at this time.
0 commit comments