File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Expand file tree Collapse file tree 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)
573573 if (!equality_propagation)
574574 return true ;
575575
576- const typet &type=ns. follow ( expr.lhs ().type () );
576+ const typet &type = expr.lhs ().type ();
577577
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)
581581 {
582582 // see if it is an unbounded array
583583 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
3131 if (it!=map.mapping .end ())
3232 {
3333 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 );
3439
3540 if (is_unbounded_array (map_entry.type ))
3641 return bv_get_unbounded_array (expr);
You can’t perform that action at this time.
0 commit comments