File tree 2 files changed +9
-2
lines changed
src/analyses/variable-sensitivity
2 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -187,6 +187,10 @@ exprt write_stackt::to_expression() const
187
187
new_expr.operands ().resize (1 );
188
188
}
189
189
new_expr.op0 ()=access_expr;
190
+ // also need to update the type of new_expr because the index_exprt
191
+ // will have been constructed with a nil op0 and therefore will not
192
+ // have had its type constructed properly.
193
+ new_expr.type ()=access_expr.type ().subtype ();
190
194
191
195
access_expr=new_expr;
192
196
}
Original file line number Diff line number Diff line change @@ -46,8 +46,11 @@ offset_entryt::offset_entryt(abstract_object_pointert offset_value):
46
46
}
47
47
48
48
// / Get the expression part needed to read this stack entry. For offset entries
49
- // / this is an index expression with the index() part the offset
50
- // / \return The expression to read this part of the stack
49
+ // / this is an index expression with the index() part the offset.
50
+ // / It is important to note that the returned index_exprt does not have a type,
51
+ // / so it will be necessary for the caller to update the type whenever the index
52
+ // / expression is completed.
53
+ // / \return The untyped expression to read this part of the stack
51
54
exprt offset_entryt::get_access_expr () const
52
55
{
53
56
return index_exprt (exprt (), offset->to_constant ());
You can’t perform that action at this time.
0 commit comments