File tree 2 files changed +9
-4
lines changed 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -573,11 +573,11 @@ bool boolbvt::boolbv_set_equality_to_true(const equal_exprt &expr)
573
573
if (!equality_propagation)
574
574
return true ;
575
575
576
- const typet &type=ns. follow ( expr.lhs ().type () );
576
+ const typet &type = expr.lhs ().type ();
577
577
578
- if (expr. lhs (). id ()==ID_symbol &&
579
- type==ns. follow ( expr.rhs ().type () ) &&
580
- type.id ()!= ID_bool)
578
+ if (
579
+ expr. lhs (). id () == ID_symbol && type == expr.rhs ().type () &&
580
+ type.id () != ID_bool)
581
581
{
582
582
// see if it is an unbounded array
583
583
if (is_unbounded_array (type))
Original file line number Diff line number Diff line change @@ -31,6 +31,11 @@ exprt boolbvt::get(const exprt &expr) const
31
31
if (it!=map.mapping .end ())
32
32
{
33
33
const boolbv_mapt::map_entryt &map_entry=it->second ;
34
+ // an input expression must either be untyped (this is used for obtaining
35
+ // the value of clock symbols, which do not have a fixed type as the clock
36
+ // type is computed during symbolic execution) or match the type stored in
37
+ // the mapping
38
+ PRECONDITION (expr.type () == typet () || expr.type () == map_entry.type );
34
39
35
40
if (is_unbounded_array (map_entry.type ))
36
41
return bv_get_unbounded_array (expr);
You can’t perform that action at this time.
0 commit comments