cprover
goto_instrument_parse_optionst Class Reference

#include <goto_instrument_parse_options.h>

Inheritance diagram for goto_instrument_parse_optionst:
[legend]
Collaboration diagram for goto_instrument_parse_optionst:
[legend]

Public Member Functions

virtual int doit ()
 invoke main modules More...
 
virtual void help ()
 display command line help More...
 
 goto_instrument_parse_optionst (int argc, const char **argv)
 
- Public Member Functions inherited from parse_options_baset
 parse_options_baset (const std::string &optstring, int argc, const char **argv)
 
virtual void usage_error ()
 
virtual int main ()
 
virtual ~parse_options_baset ()
 
- Public Member Functions inherited from language_uit
 language_uit (const cmdlinet &cmdline, ui_message_handlert &ui_message_handler)
 Constructor. More...
 
virtual ~language_uit ()
 Destructor. More...
 
virtual bool parse ()
 
virtual bool parse (const std::string &filename)
 
virtual bool typecheck ()
 
virtual bool final ()
 
virtual void clear_parse ()
 
virtual void show_symbol_table (bool brief=false)
 
virtual void show_symbol_table_plain (std::ostream &out, bool brief)
 
virtual void show_symbol_table_xml_ui (bool brief)
 
uit get_ui ()
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level)
 
mstreamterror ()
 
mstreamtwarning ()
 
mstreamtresult ()
 
mstreamtstatus ()
 
mstreamtstatistics ()
 
mstreamtprogress ()
 
mstreamtdebug ()
 

Protected Member Functions

virtual void register_languages ()
 
void get_goto_program ()
 
void instrument_goto_program ()
 
void eval_verbosity ()
 
void do_indirect_call_and_rtti_removal (bool force=false)
 
void do_remove_const_function_pointers_only ()
 Remove function pointers that can be resolved by analysing const variables (i.e. More...
 
void do_partial_inlining ()
 
void do_remove_returns ()
 

Protected Attributes

ui_message_handlert ui_message_handler
 
bool function_pointer_removal_done
 
bool partial_inlining_done
 
bool remove_returns_done
 
goto_functionst goto_functions
 
- Protected Attributes inherited from language_uit
const cmdlinet_cmdline
 
ui_message_handlertui_message_handler
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- Public Types inherited from language_uit
typedef ui_message_handlert::uit uit
 
- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Public Member Functions inherited from messaget
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 
- Public Attributes inherited from parse_options_baset
cmdlinet cmdline
 
- Public Attributes inherited from language_uit
language_filest language_files
 
symbol_tablet symbol_table
 

Detailed Description

Definition at line 82 of file goto_instrument_parse_options.h.

Constructor & Destructor Documentation

◆ goto_instrument_parse_optionst()

goto_instrument_parse_optionst::goto_instrument_parse_optionst ( int  argc,
const char **  argv 
)
inline

Definition at line 90 of file goto_instrument_parse_options.h.

Member Function Documentation

◆ do_indirect_call_and_rtti_removal()

◆ do_partial_inlining()

◆ do_remove_const_function_pointers_only()

void goto_instrument_parse_optionst::do_remove_const_function_pointers_only ( )
protected

Remove function pointers that can be resolved by analysing const variables (i.e.

can be resolved using remove_const_function_pointers). Function pointers that cannot be resolved will be left as function pointers.

Definition at line 817 of file goto_instrument_parse_options.cpp.

References parse_options_baset::cmdline, messaget::eom(), function_pointer_removal_done, messaget::get_message_handler(), goto_functions, cmdlinet::isset(), remove_function_pointers(), messaget::status(), and language_uit::symbol_table.

Referenced by instrument_goto_program().

◆ do_remove_returns()

void goto_instrument_parse_optionst::do_remove_returns ( )
protected

◆ doit()

int goto_instrument_parse_optionst::doit ( )
virtual

invoke main modules

Implements parse_options_baset.

Definition at line 114 of file goto_instrument_parse_options.cpp.

References accelerate_functions(), cmdlinet::args, goto_unwindt::ASSERT, goto_unwindt::ASSUME, CBMC_VERSION, custom_bitvector_analysist::check(), check_call_sequence(), parse_options_baset::cmdline, goto_functions_templatet< bodyT >::compute_loop_numbers(), goto_unwindt::CONTINUE, count_eloc(), do_indirect_call_and_rtti_removal(), do_partial_inlining(), do_remove_returns(), document_properties_html(), document_properties_latex(), dot(), dump_c(), dump_cpp(), messaget::eom(), messaget::error(), eval_verbosity(), forall_goto_functions, forall_goto_program_instructions, goto_functions_templatet< bodyT >::function_map, get_goto_program(), messaget::get_message_handler(), language_uit::get_ui(), cmdlinet::get_value(), goto_functions, goto_inline(), help(), horn_encoding(), instrument_goto_program(), interpreter(), interval_analysis(), cmdlinet::isset(), list_calls_and_arguments(), list_eloc(), list_undefined_functions(), namespacet::lookup(), parse_options_baset::main(), mutex_init_instrumentation(), symbolt::name, call_grapht::output(), local_bitvector_analysist::output(), points_tot::output(), ai_baset::output(), call_grapht::output_dot(), grapht< N >::output_dot(), goto_programt::output_instruction(), goto_unwindt::output_log_json(), call_grapht::output_xml(), parameter_assignments(), parse_unwindset(), goto_unwindt::PARTIAL, print_path_lengths(), print_struct_alignment_problems(), register_languages(), remove_skip(), remove_unused_functions(), restore_returns(), messaget::result(), show_call_sequences(), show_goto_functions(), show_locations(), show_loop_ids(), show_natural_loops(), show_properties(), language_uit::show_symbol_table(), show_uninitialized(), show_value_sets(), messaget::status(), language_uit::symbol_table, thread_exit_instrumentation(), symbolt::type, ui_message_handler, undefined_function_abort_path(), goto_functions_templatet< bodyT >::update(), widen(), and write_goto_binary().

◆ eval_verbosity()

void goto_instrument_parse_optionst::eval_verbosity ( )
protected

◆ get_goto_program()

◆ help()

void goto_instrument_parse_optionst::help ( )
virtual

display command line help

Reimplemented from parse_options_baset.

Definition at line 1442 of file goto_instrument_parse_options.cpp.

References CBMC_VERSION, HELP_GOTO_CHECK, HELP_REMOVE_CONST_FUNCTION_POINTERS, and HELP_SHOW_GOTO_FUNCTIONS.

Referenced by doit().

◆ instrument_goto_program()

void goto_instrument_parse_optionst::instrument_goto_program ( )
protected

Definition at line 873 of file goto_instrument_parse_options.cpp.

References add_failed_symbols(), add_uninitialized_locals_assertions(), all, all_loops, configt::ansi_c, arrays_only, branch(), parse_options_baset::cmdline, code_contracts(), goto_functions_templatet< bodyT >::compute_loop_numbers(), concurrency(), config, configt::ansi_ct::defines, do_indirect_call_and_rtti_removal(), do_partial_inlining(), do_remove_const_function_pointers_only(), do_remove_returns(), messaget::eom(), messaget::error(), full_slicer(), function_enter(), function_exit(), messaget::get_message_handler(), cmdlinet::get_value(), cmdlinet::get_values(), goto_check(), goto_function_inline(), goto_function_inline_and_log(), goto_functions, goto_inline(), goto_partial_inline(), havoc_loops(), escape_analysist::instrument(), interrupt(), interval_analysis(), cmdlinet::isset(), k_induction(), label_properties(), link_to_library(), min_interference, mmio(), model_argc_argv(), mutex_init_instrumentation(), my_events, no_loop, nondet_static(), nondet_volatile(), one_event_per_cycle, parameter_assignments(), PARSE_OPTIONS_GOTO_CHECK, Power, property_slicer(), PSO, race_check(), reachability_slicer(), read_first, remove_asm(), remove_functions(), remove_pointers(), remove_returns(), remove_skip(), messaget::result(), RMO, safe_string2unsigned(), optionst::set_option(), skip_loops(), slice_global_inits(), stack_depth(), messaget::status(), string_abstraction(), language_uit::symbol_table, thread_exit_instrumentation(), TSO, ui_message_handler, Unknown, unsafe_string2unsigned(), goto_functions_templatet< bodyT >::update(), weak_memory(), widen(), and write_first.

Referenced by doit().

◆ register_languages()

void goto_instrument_parse_optionst::register_languages ( )
protectedvirtual

Member Data Documentation

◆ function_pointer_removal_done

bool goto_instrument_parse_optionst::function_pointer_removal_done
protected

◆ goto_functions

◆ partial_inlining_done

bool goto_instrument_parse_optionst::partial_inlining_done
protected

Definition at line 115 of file goto_instrument_parse_options.h.

Referenced by do_partial_inlining().

◆ remove_returns_done

bool goto_instrument_parse_optionst::remove_returns_done
protected

Definition at line 116 of file goto_instrument_parse_options.h.

Referenced by do_remove_returns().

◆ ui_message_handler

ui_message_handlert goto_instrument_parse_optionst::ui_message_handler
protected

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