File tree Expand file tree Collapse file tree 3 files changed +34
-3
lines changed Expand file tree Collapse file tree 3 files changed +34
-3
lines changed Original file line number Diff line number Diff line change 1+ int main ()
2+ {
3+ __CPROVER_bool a , b , c , d ;
4+ __CPROVER_assume (a );
5+ __CPROVER_assume (b );
6+ __CPROVER_assert (c || d , "some property" );
7+ }
Original file line number Diff line number Diff line change 1+ CORE
2+ main.c
3+ --show-vcc
4+ ^EXIT=0$
5+ ^SIGNAL=0$
6+ ^some property$
7+ ^\{-.*\} a!0@1#1$
8+ ^\{-.*\} b!0@1#1$
9+ ^\{1\} c!0@1#1$
10+ ^\{2\} d!0@1#1$
11+ --
Original file line number Diff line number Diff line change @@ -83,9 +83,22 @@ void show_vcc_plain(
8383 out << u8" \u2500 " ;
8484 out << ' \n ' ;
8585
86- std::string string_value =
87- from_expr (ns, s_it->source .pc ->function , s_it->cond_expr );
88- out << " {" << 1 << " } " << string_value << " \n " ;
86+ // split property into multiple disjunts, if applicable
87+ exprt::operandst disjuncts;
88+
89+ if (s_it->cond_expr .id () == ID_or)
90+ disjuncts = to_or_expr (s_it->cond_expr ).operands ();
91+ else
92+ disjuncts.push_back (s_it->cond_expr );
93+
94+ std::size_t count = 1 ;
95+ for (const auto &disjunct : disjuncts)
96+ {
97+ std::string string_value =
98+ from_expr (ns, s_it->source .pc ->function , disjunct);
99+ out << " {" << count << " } " << string_value << " \n " ;
100+ count++;
101+ }
89102 }
90103}
91104
You can’t perform that action at this time.
0 commit comments