Skip to content

Commit 520cf38

Browse files
Handle typecast when evaluating addresses in the interpreter
1 parent 7cbe566 commit 520cf38

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/goto-programs/interpreter_evaluate.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -1256,6 +1256,15 @@ mp_integer interpretert::evaluate_address(
12561256
if(result.size()==1)
12571257
return result[0];
12581258
}
1259+
else if(expr.id()==ID_typecast)
1260+
{
1261+
if(expr.operands().size()!=1)
1262+
throw "typecast expects one operand";
1263+
1264+
assert(expr.type().id()==ID_pointer);
1265+
1266+
return evaluate_address(expr.op0(), fail_quietly);
1267+
}
12591268
if(!fail_quietly)
12601269
{
12611270
error() << "!! failed to evaluate address: "

0 commit comments

Comments
 (0)