Skip to content

Commit 02d09c5

Browse files
Use numeric_cast instead of to_integer
to_integer is deprecated and numeric_cast should be used instead.
1 parent 25d5bff commit 02d09c5

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/goto-programs/interpreter_evaluate.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -345,24 +345,28 @@ void interpretert::evaluate(
345345
}
346346
else if(expr.type().id() == ID_pointer)
347347
{
348-
mp_integer i=0;
349348
if(expr.has_operands() && expr.op0().id()==ID_address_of)
350349
{
351350
evaluate(expr.op0(), dest);
352351
return;
353352
}
354-
else if(expr.has_operands() && !to_integer(expr.op0(), i))
353+
else if(expr.has_operands())
355354
{
356-
dest.push_back(i);
357-
return;
355+
if(const auto i = numeric_cast<mp_integer>(expr.op0()))
356+
{
357+
dest.push_back(*i);
358+
return;
359+
}
358360
}
359361
// check if expression is constant null pointer without operands
360-
else if(
361-
!expr.has_operands() && !to_integer(to_constant_expr(expr), i) &&
362-
i.is_zero())
362+
else if(!expr.has_operands())
363363
{
364-
dest.push_back(i);
365-
return;
364+
const auto i = numeric_cast<mp_integer>(expr);
365+
if(i && i->is_zero())
366+
{
367+
dest.push_back(*i);
368+
return;
369+
}
366370
}
367371
}
368372
else if(expr.type().id()==ID_floatbv)

0 commit comments

Comments
 (0)