cprover
|
#include <goto_instrument_parse_options.h>
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) | |
![]() | |
parse_options_baset (const std::string &optstring, int argc, const char **argv) | |
virtual void | usage_error () |
virtual int | main () |
virtual | ~parse_options_baset () |
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 |
Additional Inherited Members | |
![]() | |
cmdlinet | cmdline |
Definition at line 107 of file goto_instrument_parse_options.h.
|
inline |
Definition at line 115 of file goto_instrument_parse_options.h.
|
protected |
Definition at line 833 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_asm(), remove_function_pointers(), remove_virtual_functions(), and messaget::status().
Referenced by doit(), and instrument_goto_program().
|
protected |
Definition at line 872 of file goto_instrument_parse_options.cpp.
References parse_options_baset::cmdline, messaget::eom(), goto_model, goto_partial_inline(), cmdlinet::isset(), partial_inlining_done, messaget::status(), and ui_message_handler.
|
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 855 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().
|
protected |
Definition at line 886 of file goto_instrument_parse_options.cpp.
References messaget::eom(), goto_model, remove_returns(), remove_returns_done, and messaget::status().
Referenced by doit(), and instrument_goto_program().
|
virtual |
invoke main modules
Implements parse_options_baset.
Definition at line 105 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_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(), local_safe_pointerst::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(), local_safe_pointerst::output_safe_dereferences(), 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().
|
protected |
Definition at line 897 of file goto_instrument_parse_options.cpp.
References cmdlinet::args, parse_options_baset::cmdline, config, messaget::eom(), messaget::get_message_handler(), goto_model, read_goto_binary(), configt::set(), and messaget::status().
Referenced by doit().
|
inlineprotected |
Definition at line 143 of file goto_instrument_parse_options.h.
References ui_message_handlert::get_ui(), and ui_message_handler.
Referenced by doit().
|
virtual |
display command line help
Reimplemented from parse_options_baset.
Definition at line 1513 of file goto_instrument_parse_options.cpp.
References banner_string(), CBMC_VERSION, HELP_FLUSH, HELP_GOTO_CHECK, HELP_GOTO_PROGRAM_STATS, HELP_REMOVE_CALLS_NO_BODY, HELP_REMOVE_CONST_FUNCTION_POINTERS, HELP_REPLACE_CALLS, HELP_REPLACE_FUNCTION_BODY, HELP_SHOW_CLASS_HIERARCHY, HELP_SHOW_GOTO_FUNCTIONS, HELP_SHOW_PROPERTIES, and HELP_TIMESTAMP.
Referenced by doit().
|
protected |
Definition at line 908 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(), aggressive_slicert::call_depth, 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(), aggressive_slicert::doit(), 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, aggressive_slicert::name_snippets, no_loop, nondet_static(), nondet_volatile(), one_event_per_cycle, parameter_assignments(), PARSE_OPTIONS_GOTO_CHECK, Power, PRECONDITION, aggressive_slicert::preserve_all_direct_paths, aggressive_slicert::preserve_functions(), 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(), aggressive_slicert::user_specified_properties, weak_memory(), widen(), and write_first.
Referenced by doit().
|
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().
|
protected |
Definition at line 137 of file goto_instrument_parse_options.h.
Referenced by do_indirect_call_and_rtti_removal(), and do_remove_const_function_pointers_only().
|
protected |
Definition at line 141 of file goto_instrument_parse_options.h.
Referenced by do_indirect_call_and_rtti_removal(), do_partial_inlining(), do_remove_const_function_pointers_only(), do_remove_returns(), doit(), get_goto_program(), and instrument_goto_program().
|
protected |
Definition at line 138 of file goto_instrument_parse_options.h.
Referenced by do_partial_inlining().
|
protected |
Definition at line 139 of file goto_instrument_parse_options.h.
Referenced by do_remove_returns().
|
protected |
Definition at line 126 of file goto_instrument_parse_options.h.
Referenced by do_partial_inlining(), doit(), get_ui(), and instrument_goto_program().