Closed
Description
CBMC version: 5.63.0 (cbmc-5.63.0-41-g5a7a0a8801-dirty)
Operating system: macOS
dirtyt
uses goto_programt::instructiont::apply
to search for dirty symbols in instructions. goto_programt::instructiont::apply
only visits the contents of an OTHER
instruction if its statement
attribute is an ID_expression
:
void goto_programt::instructiont::apply(
std::function<void(const exprt &)> f) const
{
switch(_type)
{
case OTHER:
if(get_other().get_statement() == ID_expression)
f(to_code_expression(get_other()).expression());
break;
....
}
Since OTHER operations can also have statement
be equal to ID_array_set
, ID_array_copy
, ID_array_replace
, ID_asm
, etc. is it possible that dirtyt
would miss anything of importance ?