CBMC
remove_calls_no_bodyt Class Reference

#include <remove_calls_no_body.h>

Public Member Functions

void operator() (goto_programt &goto_program, const goto_functionst &goto_functions, message_handlert &)
 Remove calls to functions without a body and replace them with evaluations of the arguments of the call and a nondet assignment to the variable taking the return value. More...
 
void operator() (goto_functionst &goto_functions, message_handlert &)
 Remove calls to functions without a body and replace them with evaluations of the arguments of the call and a nondet assignment to the variable taking the return value. More...
 

Protected Member Functions

bool is_opaque_function_call (const goto_programt::const_targett target, const goto_functionst &goto_functions)
 Check if instruction is a call to an opaque function through an ordinary (non-function pointer) call. More...
 
void remove_call_no_body (goto_programt &dest, goto_programt::targett target, const exprt &lhs, const exprt::operandst &arguments)
 Remove a single call. More...
 

Detailed Description

Definition at line 20 of file remove_calls_no_body.h.

Member Function Documentation

◆ is_opaque_function_call()

bool remove_calls_no_bodyt::is_opaque_function_call ( const goto_programt::const_targett  target,
const goto_functionst goto_functions 
)
protected

Check if instruction is a call to an opaque function through an ordinary (non-function pointer) call.

Parameters
targetiterator pointing to the instruction to check
goto_functionsall goto function to look up call target

Definition at line 66 of file remove_calls_no_body.cpp.

◆ operator()() [1/2]

void remove_calls_no_bodyt::operator() ( goto_functionst goto_functions,
message_handlert message_handler 
)

Remove calls to functions without a body and replace them with evaluations of the arguments of the call and a nondet assignment to the variable taking the return value.

Parameters
goto_functionsgoto functions to operate on
message_handlermessage handler

Definition at line 128 of file remove_calls_no_body.cpp.

◆ operator()() [2/2]

void remove_calls_no_bodyt::operator() ( goto_programt goto_program,
const goto_functionst goto_functions,
message_handlert message_handler 
)

Remove calls to functions without a body and replace them with evaluations of the arguments of the call and a nondet assignment to the variable taking the return value.

Parameters
goto_programgoto program to operate on
goto_functionsall goto functions; for looking up functions which the goto program may call
message_handlermessage handler

Definition at line 99 of file remove_calls_no_body.cpp.

◆ remove_call_no_body()

void remove_calls_no_bodyt::remove_call_no_body ( goto_programt goto_program,
goto_programt::targett  target,
const exprt lhs,
const exprt::operandst arguments 
)
protected

Remove a single call.

Parameters
goto_programgoto program to modify
targetiterator pointing to the call
lhslhs of the call to which the return value is assigned
argumentsarguments of the call

Definition at line 25 of file remove_calls_no_body.cpp.


The documentation for this class was generated from the following files: