107 gcc_version.
get(
"gcc");
206 const auto cover_config =
238 "Usage: \tPurpose:\n"
240 " {bgoto-diff} [{y-?}] [{y-h}] [{y--help}] \t show this help\n"
241 " {bgoto-diff} {uold} {unew} \t compare two goto binaries\n"
246 " {y--show-loops} \t show the loops in the programs\n"
247 " {y-u}, {y--unified} \t output unified diff\n"
248 " {y--change-impact}, {y--forward-impact}, {y--backward-impact} \t output"
249 " unified diff with forward&backward/forward/backward dependencies\n"
250 " {y--compact-output} \t output dependencies in compact mode\n"
252 "Program instrumentation options:\n"
257 " {y--version} \t show version and exit\n"
258 " {y--json-ui} \t use JSON-formatted output\n"
260 " {y--verbosity} {u#} \t verbosity level\n"
void cprover_c_library_factory(const std::set< irep_idt > &functions, const symbol_table_baset &symbol_table, symbol_table_baset &dest_symbol_table, message_handlert &message_handler)
void change_impact(const goto_modelt &model_old, const goto_modelt &model_new, impact_modet impact_mode, bool compact_output, message_handlert &message_handler)
Data and control-dependencies of syntactic diff.
std::string get_value(char option) const
virtual bool isset(char option) const
bool set(const cmdlinet &cmdline)
struct configt::ansi_ct ansi_c
void get(const std::string &executable)
int doit() override
invoke main modules
bool process_goto_program(const optionst &options, goto_modelt &goto_model)
void help() override
display command line help
goto_diff_parse_optionst(int argc, const char **argv)
void get_command_line_options(optionst &options)
void register_languages() override
virtual void output_functions() const
Output diff result.
symbol_tablet symbol_table
Symbol table.
goto_functionst goto_functions
GOTO functions.
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.
mstreamt & status() const
void set_option(const std::string &option, const bool value)
virtual void usage_error()
void log_version_and_architecture(const std::string &front_end)
Write version and system architecture to log.status().
ui_message_handlert ui_message_handler
virtual uit get_ui() const
void output(std::ostream &os) const
static void instrument_cover_goals(const irep_idt &function_id, goto_programt &goto_program, const cover_instrumenterst &instrumenters, const irep_idt &mode, message_handlert &message_handler, const cover_instrumenter_baset::assertion_factoryt &make_assertion)
Applies instrumenters to given goto program.
cover_configt get_cover_config(const optionst &options, const symbol_tablet &symbol_table, message_handlert &message_handler)
Build data structures controlling coverage from command-line options.
void parse_cover_options(const cmdlinet &cmdline, optionst &options)
Parses coverage-related command line options.
Coverage Instrumentation.
void cprover_cpp_library_factory(const std::set< irep_idt > &functions, const symbol_table_baset &symbol_table, symbol_table_baset &dest_symbol_table, message_handlert &message_handler)
static void show_goto_functions(const goto_modelt &goto_model)
Document and give macros for the exit codes of CPROVER binaries.
#define CPROVER_EXIT_INTERNAL_ERROR
An error has been encountered during processing the requested analysis.
#define CPROVER_EXIT_INCORRECT_TASK
The command line is correctly structured but cannot be carried out due to missing files,...
#define CPROVER_EXIT_SUCCESS
Success indicates the required analysis has been performed without error.
void configure_gcc(const gcc_versiont &gcc_version)
#define PARSE_OPTIONS_GOTO_CHECK(cmdline, options)
GOTO-DIFF Command Line Option Processing.
#define GOTO_DIFF_OPTIONS
goto_modelt initialize_goto_model(const std::vector< std::string > &files, message_handlert &message_handler, const optionst &options)
Initialize a Goto Program.
void link_to_library(goto_modelt &goto_model, message_handlert &message_handler, const std::function< void(const std::set< irep_idt > &, const symbol_tablet &, symbol_tablet &, message_handlert &)> &library)
Complete missing function definitions using the library.
void show_loop_ids(ui_message_handlert::uit ui, const goto_modelt &goto_model)
std::string align_center_with_border(const std::string &text)
Utility for displaying help centered messages borderered by "* *".
std::string banner_string(const std::string &front_end, const std::string &version)
void remove_asm(goto_functionst &goto_functions, symbol_tablet &symbol_table, message_handlert &message_handler)
Replaces inline assembly instructions in the goto program (i.e., instructions of kind OTHER with a co...
bool has_asm(const goto_functionst &goto_functions)
returns true iff the given goto functions use asm instructions
Remove 'asm' statements by compiling them into suitable standard goto program instructions.
void remove_skip(goto_programt &goto_program, goto_programt::targett begin, goto_programt::targett end)
remove unnecessary skip statements
void label_properties(goto_modelt &goto_model)
Set the properties to check.
#define HELP_SHOW_GOTO_FUNCTIONS
#define HELP_SHOW_PROPERTIES
preprocessort preprocessor
Unified diff (using LCSS) of goto functions.
const char * CBMC_VERSION