@@ -53,8 +53,8 @@ literalt boolbvt::convert_extractbit(const extractbit_exprt &expr)
53
53
std::max (address_bits (src_bv_width), index_bv_width);
54
54
unsignedbv_typet index_type (index_width);
55
55
56
- equal_exprt equality (
57
- typecast_exprt::conditional_cast (index, index_type), exprt ()) ;
56
+ const auto index_casted =
57
+ typecast_exprt::conditional_cast (index, index_type);
58
58
59
59
if (prop.has_set_to ())
60
60
{
@@ -64,7 +64,7 @@ literalt boolbvt::convert_extractbit(const extractbit_exprt &expr)
64
64
// add implications
65
65
for (std::size_t i = 0 ; i < src_bv.size (); i++)
66
66
{
67
- equality. rhs ()= from_integer (i, index_type);
67
+ equal_exprt equality (index_casted, from_integer (i, index_type) );
68
68
literalt equal = prop.lequal (literal, src_bv[i]);
69
69
prop.l_set_to_true (prop.limplies (convert (equality), equal));
70
70
}
@@ -77,7 +77,7 @@ literalt boolbvt::convert_extractbit(const extractbit_exprt &expr)
77
77
78
78
for (std::size_t i = 0 ; i < src_bv.size (); i++)
79
79
{
80
- equality. rhs ()= from_integer (i, index_type);
80
+ equal_exprt equality (index_casted, from_integer (i, index_type) );
81
81
literal = prop.lselect (convert (equality), src_bv[i], literal);
82
82
}
83
83
0 commit comments