File tree 3 files changed +11
-13
lines changed
cbmc-java/dynamic-multi-dimensional-array
3 files changed +11
-13
lines changed Original file line number Diff line number Diff line change 1
1
CORE
2
2
TestClass.class
3
3
--function TestClass.f --cover location --unwind 2
4
- Source GOTO statement: .*
5
- (^ exception: Can't convert byte_extraction|Nested exception printing not supported on Windows)
6
- ^EXIT=6$
7
- --
8
- --
9
- The exception thrown in this test is the symptom of a bug; the purpose of this
10
- test is the validate the output of that exception
4
+ ^EXIT=0$
5
+ ^SIGNAL=0$
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ Test.class
3
3
--refine-strings --function Test.checkAbort --trace
4
4
^EXIT=10$
5
5
^SIGNAL=0$
6
- dynamic_object[0-9]*=\(assignment removed\)
6
+ dynamic_object[0-9]*=.*\?.*
7
7
--
8
8
--
9
9
This tests that the object does not appear in the trace, because concretizing
Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ void goto_symex_statet::level1t::operator()(ssa_exprt &ssa_expr)
83
83
// / "constants"
84
84
bool goto_symex_statet::constant_propagation (const exprt &expr) const
85
85
{
86
- if (expr.is_constant ())
86
+ if (expr.is_constant () || expr. id () == ID_nondet_symbol )
87
87
return true ;
88
88
89
89
if (expr.id ()==ID_address_of)
@@ -187,13 +187,16 @@ bool goto_symex_statet::constant_propagation_reference(const exprt &expr) const
187
187
}
188
188
else if (expr.id ()==ID_member)
189
189
{
190
- if (expr.operands ().size ()!=1 )
191
- throw " member expects one operand" ;
190
+ const member_exprt &member_expr = to_member_expr (expr);
192
191
193
- return constant_propagation_reference (expr. op0 ());
192
+ return constant_propagation_reference (member_expr. struct_op ());
194
193
}
195
- else if (expr.id ()==ID_string_constant)
194
+ else if (
195
+ expr.id () == ID_string_constant || expr.id () == ID_array ||
196
+ expr.id () == ID_struct || expr.id () == ID_union)
197
+ {
196
198
return true ;
199
+ }
197
200
198
201
return false ;
199
202
}
You can’t perform that action at this time.
0 commit comments