cprover
|
#include <gcc_mode.h>
Public Member Functions | |
int | doit () final |
does it. More... | |
void | help_mode () final |
display command line help More... | |
gcc_modet (goto_cc_cmdlinet &_cmdline, const std::string &_base_name, bool _produce_hybrid_binary) | |
![]() | |
virtual int | main (int argc, const char **argv) |
starts the compiler More... | |
virtual void | help () |
display command line help More... | |
virtual void | usage_error () |
prints a message informing the user about incorrect options More... | |
goto_cc_modet (goto_cc_cmdlinet &, const std::string &_base_name, message_handlert &) | |
constructor More... | |
~goto_cc_modet () | |
constructor More... | |
Protected Member Functions | |
int | preprocess (const std::string &language, const std::string &src, const std::string &dest, bool act_as_bcc) |
call gcc for preprocessing More... | |
int | run_gcc () |
run gcc or clang with original command line More... | |
int | gcc_hybrid_binary () |
int | asm_output (bool act_as_bcc, const std::list< std::string > &preprocessed_source_files) |
![]() | |
void | register_languages () |
Static Protected Member Functions | |
static bool | needs_preprocessing (const std::string &) |
Protected Attributes | |
gcc_message_handlert | gcc_message_handler |
const bool | produce_hybrid_binary |
const bool | act_as_ld |
std::string | native_tool_name |
const std::map< std::string, std::set< std::string > > | arch_map |
![]() | |
goto_cc_cmdlinet & | cmdline |
const std::string | base_name |
Additional Inherited Members |
Definition at line 21 of file gcc_mode.h.
gcc_modet::gcc_modet | ( | goto_cc_cmdlinet & | _cmdline, |
const std::string & | _base_name, | ||
bool | _produce_hybrid_binary | ||
) |
Definition at line 89 of file gcc_mode.cpp.
|
protected |
Definition at line 959 of file gcc_mode.cpp.
References goto_cc_modet::cmdline, comment(), messaget::debug(), messaget::eom(), messaget::error(), get_base_name(), cmdlinet::get_value(), cmdlinet::isset(), native_tool_name, goto_cc_cmdlinet::parsed_argv, produce_hybrid_binary, messaget::result(), and run_gcc().
Referenced by doit().
|
finalvirtual |
does it.
Implements goto_cc_modet.
Definition at line 304 of file gcc_mode.cpp.
References act_as_ld, configt::ansi_c, configt::ansi_ct::APPLE, configt::ansi_ct::arch, arch_map, asm_output(), compilet::ASSEMBLE_ONLY, goto_cc_modet::base_name, CBMC_VERSION, configt::ansi_ct::char_is_unsigned, goto_cc_modet::cmdline, compilet::COMPILE_LINK, compilet::COMPILE_LINK_EXECUTABLE, compilet::COMPILE_ONLY, compiler_name(), config, configt::cpp, messaget::debug(), configt::ansi_ct::double_width, configt::ansi_ct::endianness, messaget::eom(), messaget::error(), configt::ansi_ct::GCC, gcc_hybrid_binary(), gcc_message_handler, get_base_name(), cmdlinet::get_value(), cmdlinet::get_values(), has_prefix(), has_suffix(), goto_cc_cmdlinet::have_infile_arg(), goto_cc_modet::help(), configt::ansi_ct::IS_BIG_ENDIAN, configt::ansi_ct::IS_LITTLE_ENDIAN, cmdlinet::isset(), compilet::LINK_LIBRARY, linker_name(), compilet::mode, configt::ansi_ct::mode, native_tool_name, needs_preprocessing(), goto_cc_cmdlinet::parsed_argv, preprocess(), compilet::PREPROCESS_ONLY, configt::ansi_ct::preprocessor_options, produce_hybrid_binary, run_gcc(), configt::set(), configt::set_arch(), configt::ansi_ct::set_arch_spec_arm(), configt::ansi_ct::set_arch_spec_i386(), configt::ansi_ct::set_arch_spec_x86_64(), configt::ansi_ct::set_c11(), configt::ansi_ct::set_c89(), configt::ansi_ct::set_c99(), configt::cppt::set_cpp11(), configt::cppt::set_cpp14(), message_handlert::set_verbosity(), configt::ansi_ct::short_int_width, configt::ansi_ct::single_precision_constant, configt::ansi_ct::single_width, configt::this_architecture(), configt::this_operating_system(), configt::ansi_ct::undefines, UNREACHABLE, unsafe_string2unsigned(), configt::ansi_ct::VISUAL_STUDIO, configt::ansi_ct::wchar_t_is_unsigned, and configt::ansi_ct::wchar_t_width.
|
protected |
Definition at line 815 of file gcc_mode.cpp.
References goto_cc_modet::base_name, goto_cc_modet::cmdline, compiler_name(), messaget::debug(), messaget::eom(), messaget::error(), get_base_name(), cmdlinet::get_value(), has_suffix(), cmdlinet::isset(), linker_name(), native_tool_name, needs_preprocessing(), goto_cc_cmdlinet::parsed_argv, rename(), messaget::result(), run(), and run_gcc().
Referenced by doit().
|
finalvirtual |
display command line help
Implements goto_cc_modet.
Definition at line 1044 of file gcc_mode.cpp.
References act_as_ld.
|
staticprotected |
Definition at line 289 of file gcc_mode.cpp.
References has_suffix().
Referenced by doit(), and gcc_hybrid_binary().
|
protected |
call gcc for preprocessing
Definition at line 715 of file gcc_mode.cpp.
References goto_cc_modet::cmdline, messaget::debug(), messaget::eom(), has_prefix(), INVARIANT, native_tool_name, goto_cc_cmdlinet::parsed_argv, run(), and goto_cc_cmdlinet::stdin_file.
Referenced by doit().
|
protected |
run gcc or clang with original command line
Definition at line 794 of file gcc_mode.cpp.
References goto_cc_modet::cmdline, messaget::debug(), messaget::eom(), native_tool_name, goto_cc_cmdlinet::parsed_argv, PRECONDITION, run(), and goto_cc_cmdlinet::stdin_file.
Referenced by asm_output(), doit(), and gcc_hybrid_binary().
|
protected |
Definition at line 37 of file gcc_mode.h.
Referenced by doit(), and help_mode().
|
protected |
Definition at line 40 of file gcc_mode.h.
Referenced by doit().
|
protected |
Definition at line 33 of file gcc_mode.h.
Referenced by doit().
|
protected |
Definition at line 38 of file gcc_mode.h.
Referenced by asm_output(), doit(), gcc_hybrid_binary(), preprocess(), and run_gcc().
|
protected |
Definition at line 35 of file gcc_mode.h.
Referenced by asm_output(), and doit().