1#ifndef CPROVER_ESBMC_PARSEOPTIONS_H
2#define CPROVER_ESBMC_PARSEOPTIONS_H
17# define ENABLE_COLOR(val) \
18 ((val) == "always" || ((val) == "auto" && _isatty(_fileno(stderr))))
21# define ENABLE_COLOR(val) \
22 ((val) == "always" || ((val) == "auto" && isatty(fileno(stderr))))
34 return "Re-run with --segfault-handler for a backtrace.\n";
71 bool k_induction_ran);
90 bool has_replace_all);
112 const uint64_t &k_step);
117 const uint64_t &k_step);
122 const uint64_t &k_step);
152 const std::string &prefix,
153 std::set<std::string> &used_syms)
const;
157 const std::map<std::string, std::pair<std::set<std::string>,
expr2tc>>
164 std::vector<std::unique_ptr<goto_functions_algorithm>>
175 bool resolve_color_option()
const;
176 void close_file(
FILE *f)
void apply_loop_invariants(goto_functionst &goto_functions, contextt &context, const optionst &options, bool k_induction_ran)
Synthesise the invariants when asked, then run the schema over them.
Definition process_goto_program.cpp:886
void add_monitor_exprs(goto_programt::targett insn, goto_programt::instructionst &insn_list, const std::map< std::string, std::pair< std::set< std::string >, expr2tc > > &monitors)
Definition property_monitors.cpp:223
void print_ileave_points(namespacet &ns, goto_functionst &goto_functions)
Definition property_monitors.cpp:309
void diagnose_unknown_properties(optionst &options, goto_functionst &goto_functions, uint64_t k_step)
Definition k_induction.cpp:931
int falsify_with_bounded_schedules(optionst &options, goto_functionst &goto_functions)
Definition bmc_strategy.cpp:632
goto_functionst goto_functions
Definition esbmc_parseoptions.h:185
bool read_goto_binary(goto_functionst &goto_functions)
Definition goto_program.cpp:491
uint64_t read_mem_spec(std::string_view str)
Definition command_line_options.cpp:263
void preprocessing()
Definition goto_program.cpp:1049
expr2tc calculate_a_property_monitor(const std::string &prefix, std::set< std::string > &used_syms) const
Definition property_monitors.cpp:200
const char * fatal_signal_advice() const override
One line naming what this driver offers for a fuller crash report, or null.
Definition esbmc_parseoptions.h:32
bool has_cbmc_binary_input()
True if any –binary input is a CBMC goto-binary (magic 0x7f 'G' 'B' 'F').
Definition goto_program.cpp:509
int run_chosen_strategy(optionst &options, goto_functionst &goto_functions)
Definition driver.cpp:311
bool wants_loop_invariants() const
Whether the run needs the loop-invariant machinery.
Definition process_goto_program.cpp:878
bool set_claims(goto_functionst &goto_functions)
Definition goto_program.cpp:103
bool process_function_contracts(goto_functionst &goto_functions, bool has_replace, bool has_enforce, bool has_enforce_all, bool has_replace_all)
Process function contracts if enabled.
Definition function_contracts.cpp:12
int doit_k_induction_parallel()
Definition k_induction.cpp:167
int do_context_bound_deepening(optionst &options, goto_functionst &goto_functions)
Definition bmc_strategy.cpp:571
virtual void get_command_line_options(optionst &options)
Definition command_line_options.cpp:387
int do_bmc_strategy(optionst &options, goto_functionst &goto_functions)
Definition bmc_strategy.cpp:255
virtual int do_bmc(bmct &bmc)
Definition bmc_strategy.cpp:714
bool is_coverage
Definition esbmc_parseoptions.h:172
void add_property_monitors(goto_functionst &goto_functions, namespacet &ns)
Definition property_monitors.cpp:73
tvt does_forward_condition_hold(optionst &options, goto_functionst &goto_functions, const uint64_t &k_step)
Definition k_induction.cpp:803
uint64_t read_time_spec(std::string_view str)
Definition command_line_options.cpp:206
virtual bool create_goto_program(optionst &options, goto_functionst &goto_functions)
Definition goto_program.cpp:384
int do_ts_strategy(optionst &options, goto_functionst &goto_functions)
Definition ts_strategy.cpp:18
virtual bool output_goto_program(optionst &options, goto_functionst &goto_functions)
Definition goto_program.cpp:890
virtual bool parse_goto_program(optionst &options, goto_functionst &goto_functions)
Definition goto_program.cpp:801
tvt is_inductive_step_violated(optionst &options, goto_functionst &goto_functions, const uint64_t &k_step)
Definition k_induction.cpp:872
esbmc_parseoptionst(int argc, const char **argv)
Definition esbmc_parseoptions.h:37
bool ts_strategy_requested() const
Definition ts_strategy.cpp:13
virtual bool get_goto_program(optionst &options, goto_functionst &goto_functions)
Definition goto_program.cpp:144
virtual bool process_goto_program(optionst &options, goto_functionst &goto_functions)
Definition process_goto_program.cpp:224
~esbmc_parseoptionst()
Definition esbmc_parseoptions.h:42
int doit() override
Definition driver.cpp:332
FILE * out
Definition esbmc_parseoptions.h:162
std::vector< std::unique_ptr< goto_functions_algorithm > > goto_preprocess_algorithms
Definition esbmc_parseoptions.h:165
std::vector< dead_store_advisoryt > dead_store_advisories
Definition esbmc_parseoptions.h:169
void help() override
Definition driver.cpp:643
bool synthesize_cprover_additions(optionst &options, goto_functionst &goto_functions)
Synthesises ESBMC's "additions" (the __ESBMC_main entry wrapper and the CPROVER-intrinsic bodies) by ...
Definition goto_program.cpp:603
tvt is_base_case_violated(optionst &options, goto_functionst &goto_functions, const uint64_t &k_step)
Definition k_induction.cpp:750
Definition goto_functions.h:56
std::list< class instructiont > instructionst
Definition goto_program.h:588
instructionst::iterator targett
Definition goto_program.h:590
contextt context
Definition language_ui.h:13
language_uit()
Definition language_ui.cpp:9
namespacet ns
Definition language_ui.h:14
Definition namespace.h:10
parseoptions_baset(const struct group_opt_templ *opts, int argc, const char **argv)
Definition parseoptions.cpp:13
const struct group_opt_templ all_cmd_options[]
Definition options.cpp:8
irep_container< expr2t > expr2tc
Definition irep2.h:431
int fclose(FILE *stream)
Definition io.c:105
__ESBMC_C_CPP_BEGIN struct __esbmc_file_t FILE