@@ -72,10 +72,11 @@ static void build_object_descriptor_rec(
72
72
exprt sub_size=size_of_expr (expr.type (), ns);
73
73
CHECK_RETURN (sub_size.is_not_nil ());
74
74
75
- dest.offset ()=
76
- plus_exprt (dest.offset (),
77
- mult_exprt (typecast_exprt (index .index (), index_type ()),
78
- typecast_exprt (sub_size, index_type ())));
75
+ dest.offset () = plus_exprt (
76
+ dest.offset (),
77
+ mult_exprt (
78
+ typecast_exprt::conditional_cast (index .index (), index_type ()),
79
+ typecast_exprt::conditional_cast (sub_size, index_type ())));
79
80
}
80
81
else if (expr.id ()==ID_member)
81
82
{
@@ -87,9 +88,8 @@ static void build_object_descriptor_rec(
87
88
exprt offset=member_offset_expr (member, ns);
88
89
CHECK_RETURN (offset.is_not_nil ());
89
90
90
- dest.offset ()=
91
- plus_exprt (dest.offset (),
92
- typecast_exprt (offset, index_type ()));
91
+ dest.offset () = plus_exprt (
92
+ dest.offset (), typecast_exprt::conditional_cast (offset, index_type ()));
93
93
}
94
94
else if (expr.id ()==ID_byte_extract_little_endian ||
95
95
expr.id ()==ID_byte_extract_big_endian)
@@ -100,10 +100,10 @@ static void build_object_descriptor_rec(
100
100
101
101
build_object_descriptor_rec (ns, be.op (), dest);
102
102
103
- dest.offset ()=
104
- plus_exprt ( dest.offset (),
105
- typecast_exprt ( to_byte_extract_expr (expr). offset (),
106
- index_type ()));
103
+ dest.offset () = plus_exprt (
104
+ dest.offset (),
105
+ typecast_exprt::conditional_cast (
106
+ to_byte_extract_expr (expr). offset (), index_type ()));
107
107
}
108
108
else if (expr.id ()==ID_typecast)
109
109
{
0 commit comments