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 messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to mstream using output_generator if the configured verbosity is at least as high as that of mstream. More...
 

Protected Member Functions

virtual void register_languages ()
 
void get_goto_program ()
 
void instrument_goto_program ()
 
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 ()
 
ui_message_handlert::uit get_ui ()
 

Protected Attributes

ui_message_handlert ui_message_handler
 
bool function_pointer_removal_done
 
bool partial_inlining_done
 
bool remove_returns_done
 
goto_modelt goto_model
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- 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 unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 
- Public Attributes inherited from parse_options_baset
cmdlinet cmdline
 

Detailed Description

Definition at line 101 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 109 of file goto_instrument_parse_options.h.

Member Function Documentation

◆ do_indirect_call_and_rtti_removal()

void goto_instrument_parse_optionst::do_indirect_call_and_rtti_removal ( bool  force = false)
protected

◆ do_partial_inlining()

void goto_instrument_parse_optionst::do_partial_inlining ( )
protected

◆ 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 825 of file goto_instrument_parse_options.cpp.

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

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 103 of file goto_instrument_parse_options.cpp.

References accelerate_functions(), cmdlinet::args, goto_unwindt::ASSERT, goto_unwindt::ASSUME, custom_bitvector_analysist::check(), check_call_sequence(), parse_options_baset::cmdline, goto_unwindt::CONTINUE, count_eloc(), CPROVER_EXIT_CONVERSION_FAILED, CPROVER_EXIT_EXCEPTION_GOTO_INSTRUMENT, CPROVER_EXIT_SUCCESS, CPROVER_EXIT_USAGE_ERROR, call_grapht::create_from_root_function(), do_indirect_call_and_rtti_removal(), do_remove_returns(), document_properties_html(), document_properties_latex(), dot(), dump_c(), dump_cpp(), goto_functionst::entry_point(), messaget::eom(), messaget::error(), messaget::eval_verbosity(), forall_goto_functions, forall_goto_program_instructions, goto_functionst::function_map, get_goto_program(), messaget::get_message_handler(), ui_message_handlert::get_ui(), get_ui(), cmdlinet::get_value(), goto_modelt::goto_functions, goto_inline(), goto_model, goto_program, help(), horn_encoding(), instrument_goto_program(), interpreter(), interval_analysis(), cmdlinet::isset(), list_calls_and_arguments(), list_eloc(), list_undefined_functions(), namespacet::lookup(), messaget::M_STATISTICS, parse_options_baset::main(), mutex_init_instrumentation(), symbolt::name, local_bitvector_analysist::output(), points_tot::output(), call_grapht::output(), ai_baset::output(), call_grapht::output_dot(), class_hierarchyt::output_dot(), grapht< N >::output_dot(), goto_programt::output_instruction(), goto_unwindt::output_log_json(), call_grapht::output_xml(), parameter_assignments(), unwindsett::parse_unwind(), unwindsett::parse_unwindset(), unwindsett::parse_unwindset_file(), goto_unwindt::PARTIAL, print_global_state_size(), print_path_lengths(), print_struct_alignment_problems(), register_languages(), remove_skip(), remove_unused_functions(), restore_returns(), messaget::result(), show_call_sequences(), show_class_hierarchy(), show_goto_functions(), show_locations(), show_loop_ids(), show_natural_loops(), show_properties(), show_symbol_table(), show_symbol_table_brief(), show_uninitialized(), show_value_sets(), messaget::status(), goto_modelt::symbol_table, thread_exit_instrumentation(), symbolt::type, ui_message_handler, undefined_function_abort_path(), goto_functionst::update(), widen(), and write_goto_binary().

◆ get_goto_program()

void goto_instrument_parse_optionst::get_goto_program ( )
protected

◆ get_ui()

ui_message_handlert::uit goto_instrument_parse_optionst::get_ui ( )
inlineprotected

Definition at line 137 of file goto_instrument_parse_options.h.

References ui_message_handlert::get_ui(), and ui_message_handler.

Referenced by doit().

◆ help()

◆ instrument_goto_program()

void goto_instrument_parse_optionst::instrument_goto_program ( )
protected

Definition at line 878 of file goto_instrument_parse_options.cpp.

References add_failed_symbols(), add_uninitialized_locals_assertions(), all, all_loops, configt::ansi_c, configt::ansi_ct::arch, arrays_only, branch(), parse_options_baset::cmdline, code_contracts(), goto_functionst::compute_loop_numbers(), concurrency(), config, cprover_c_library_factory(), cprover_cpp_library_factory(), configt::ansi_ct::defines, do_indirect_call_and_rtti_removal(), do_remove_const_function_pointers_only(), do_remove_returns(), messaget::eom(), messaget::error(), full_slicer(), function_enter(), function_exit(), generate_function_bodies(), generate_function_bodies_factory(), messaget::get_message_handler(), cmdlinet::get_value(), cmdlinet::get_values(), goto_check(), goto_function_inline(), goto_function_inline_and_log(), goto_modelt::goto_functions, goto_inline(), goto_model, goto_partial_inline(), havoc_loops(), escape_analysist::instrument(), interrupt(), interval_analysis(), cmdlinet::isset(), k_induction(), label_properties(), link_to_library(), messaget::message_handler, 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, PRECONDITION, property_slicer(), PSO, race_check(), reachability_slicer(), read_first, remove_functions(), remove_pointers(), remove_skip(), messaget::result(), RMO, safe_string2unsigned(), optionst::set_option(), skip_loops(), slice_global_inits(), splice_call(), stack_depth(), messaget::status(), string_abstraction(), goto_modelt::symbol_table, thread_exit_instrumentation(), TSO, ui_message_handler, Unknown, unsafe_string2unsigned(), goto_functionst::update(), weak_memory(), widen(), and write_first.

Referenced by doit().

◆ register_languages()

void goto_instrument_parse_optionst::register_languages ( )
protectedvirtual

Definition at line 19 of file goto_instrument_languages.cpp.

References new_ansi_c_language(), new_cpp_language(), and register_language().

Referenced by doit().

Member Data Documentation

◆ function_pointer_removal_done

bool goto_instrument_parse_optionst::function_pointer_removal_done
protected

◆ goto_model

◆ partial_inlining_done

bool goto_instrument_parse_optionst::partial_inlining_done
protected

Definition at line 132 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 133 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: