File tree 1 file changed +4
-5
lines changed
1 file changed +4
-5
lines changed Original file line number Diff line number Diff line change @@ -2710,19 +2710,18 @@ void smt2_convt::convert_constant(const constant_exprt &expr)
2710
2710
expr_type.id ()==ID_incomplete_c_enum ||
2711
2711
expr_type.id ()==ID_c_bit_field)
2712
2712
{
2713
- mp_integer value= binary2integer ( id2string (expr. get_value ()), false );
2713
+ const std:: size_t width= boolbv_width (expr_type );
2714
2714
2715
- std:: size_t width= boolbv_width (expr_type );
2715
+ const mp_integer value= bvrep2integer (expr. get_value (), width, false );
2716
2716
2717
2717
out << " (_ bv" << value
2718
2718
<< " " << width << " )" ;
2719
2719
}
2720
2720
else if (expr_type.id ()==ID_fixedbv)
2721
2721
{
2722
- fixedbv_spect spec (to_fixedbv_type (expr_type));
2722
+ const fixedbv_spect spec (to_fixedbv_type (expr_type));
2723
2723
2724
- std::string v_str=id2string (expr.get_value ());
2725
- mp_integer v=binary2integer (v_str, false );
2724
+ const mp_integer v=bvrep2integer (expr.get_value (), spec.width , false );
2726
2725
2727
2726
out << " (_ bv" << v << " " << spec.width << " )" ;
2728
2727
}
You can’t perform that action at this time.
0 commit comments