Go to the documentation of this file.
9 #ifndef CPROVER_UTIL_CONFIG_H
10 #define CPROVER_UTIL_CONFIG_H
25 #define OPT_CONFIG_C_CPP \
26 "D:I:(include)(function)" \
27 "(c89)(c99)(c11)(cpp98)(cpp03)(cpp11)" \
29 "(round-to-even)(round-to-nearest)" \
30 "(round-to-plus-inf)(round-to-minus-inf)(round-to-zero)" \
33 #define HELP_CONFIG_C_CPP \
34 " -I path set include path (C/C++)\n" \
35 " --include file set include file (C/C++)\n" \
36 " -D macro define preprocessor macro (C/C++)\n" \
37 " --c89, --c99, --c11 set C language standard (default: " \
38 << (configt::ansi_ct::default_c_standard()== \
39 configt::ansi_ct::c_standardt::C89?"c89": \
40 configt::ansi_ct::default_c_standard()== \
41 configt::ansi_ct::c_standardt::C99?"c99": \
42 configt::ansi_ct::default_c_standard()== \
43 configt::ansi_ct::c_standardt::C11?"c11":"") << ")\n"\
44 " --cpp98, --cpp03, --cpp11 set C++ language standard (default: " \
45 << (configt::cppt::default_cpp_standard()== \
46 configt::cppt::cpp_standardt::CPP98?"cpp98":\
47 configt::cppt::default_cpp_standard()== \
48 configt::cppt::cpp_standardt::CPP03?"cpp03":\
49 configt::cppt::default_cpp_standard()== \
50 configt::cppt::cpp_standardt::CPP11?"cpp11":"") << ")\n"\
51 " --unsigned-char make \"char\" unsigned by default\n" \
52 " --round-to-nearest, --round-to-even\n" \
53 " rounding towards nearest even (default)\n" \
54 " --round-to-plus-inf rounding towards plus infinity\n" \
55 " --round-to-minus-inf rounding towards minus infinity\n" \
56 " --round-to-zero rounding towards zero\n" \
57 " --no-library disable built-in abstract C library\n" \
60 #define OPT_CONFIG_LIBRARY \
61 "(malloc-fail-assert)(malloc-fail-null)(malloc-may-fail)" \
62 "(string-abstraction)" \
64 #define HELP_CONFIG_LIBRARY \
65 " --malloc-may-fail allow malloc calls to return a null pointer\n" \
66 " --malloc-fail-assert set malloc failure mode to assert-then-assume\n"\
67 " --malloc-fail-null set malloc failure mode to return null\n" \
68 " --string-abstraction track C string lengths and zero-termination\n" \
71 #define OPT_CONFIG_JAVA \
72 "(classpath)(cp)(main-class)" \
75 #define OPT_CONFIG_PLATFORM \
77 "(16)(32)(64)(LP64)(ILP64)(LLP64)(ILP32)(LP32)" \
78 "(little-endian)(big-endian)" \
80 "(i386-win32)(win32)(winx64)" \
81 "(i386-macos)(ppc-macos)" \
84 #define HELP_CONFIG_PLATFORM \
85 " --arch <arch> set architecture (default: " \
86 << configt::this_architecture() << ")\n" \
87 " to one of: alpha, arm, arm64, armel, armhf,\n"\
88 " hppa, i386, ia64, mips, mips64, mips64el,\n" \
89 " mipsel, mipsn32, mipsn32el, powerpc, ppc64,\n"\
90 " ppc64le, riscv64, s390, s390x, sh4, sparc,\n" \
91 " sparc64, v850, x32, x86_64, or none\n" \
92 " --os <os> set operating system (default: " \
93 << configt::this_operating_system() << ")\n" \
94 " to one of: freebsd, linux, macos, solaris,\n" \
96 " --i386-linux, --i386-win32, --i386-macos, --ppc-macos\n" \
97 " --win32, --winx64 set architecture and operating system\n" \
98 " --LP64, --ILP64, --LLP64,\n" \
99 " --ILP32, --LP32 set width of int, long and pointers, but\n" \
100 " don't override default architecture and\n" \
101 " operating system\n" \
102 " --16, --32, --64 equivalent to --LP32, --ILP32, --LP64 (on\n" \
103 " Windows: --LLP64)\n" \
104 " --little-endian allow little-endian word-byte conversions\n" \
105 " --big-endian allow big-endian word-byte conversions\n" \
106 " --gcc use GCC as preprocessor\n" \
108 #define OPT_CONFIG_BACKEND \
111 #define HELP_CONFIG_BACKEND \
112 " --object-bits n number of bits used for object addresses\n"
361 #endif // CPROVER_UTIL_CONFIG_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
bool ts_18661_3_Floatn_types
std::list< std::string > defines
struct configt::verilogt verilog
std::string object_bits_info()
static ost string_to_os(const std::string &)
struct configt::bv_encodingt bv_encoding
void set_arch_spec_s390x()
std::size_t wchar_t_width
std::list< std::string > include_paths
@ malloc_failure_mode_assert_then_assume
void set_arch_spec_mips(const irep_idt &subarch)
optionalt< std::string > main
void set_arch_spec_i386()
ieee_floatt::rounding_modet rounding_mode
void set_LP32()
int=16, long=32, pointer=32
void set_arch_spec_power(const irep_idt &subarch)
std::list< std::string > undefines
struct configt::ansi_ct ansi_c
void set_arch_spec_hppa()
Globally accessible architectural configuration.
void set_arch_spec_ia64()
void set_arch_spec_arm(const irep_idt &subarch)
void set_arch_spec_s390()
preprocessort preprocessor
@ malloc_failure_mode_return_null
void set_arch_spec_riscv64()
std::list< std::string > include_paths
static const std::size_t default_object_bits
static const std::size_t default_object_bits
void set_arch_spec_alpha()
bool is_object_bits_default
std::size_t memory_operand_size
optionalt< mp_integer > max_argc
Maximum value of argc, which is operating-systems dependent: Windows limits the number of characters ...
void set_ILP64()
int=64, long=64, pointer=64
std::size_t long_long_int_width
static irep_idt this_operating_system()
@ malloc_failure_mode_none
std::list< std::string > classpatht
void set_LLP64()
int=32, long=32, pointer=64
void set_from_symbol_table(const symbol_tablet &)
static std::string os_to_string(ost)
static const std::size_t default_object_bits
std::list< std::string > preprocessor_options
nonstd::optional< T > optionalt
std::list< std::string > include_files
void set_ILP32()
int=32, long=32, pointer=32
static c_standardt default_c_standard()
static irep_idt this_architecture()
bool set(const cmdlinet &cmdline)
static cpp_standardt default_cpp_standard()
enum configt::ansi_ct::c_standardt c_standard
void set_arch_spec_sparc(const irep_idt &subarch)
void set_LP64()
int=32, long=64, pointer=64
std::size_t long_double_width
struct configt::javat java
void set_arch_spec_v850()
Sets up the widths of variables for the Renesas V850.
std::size_t short_int_width
void set_arch_spec_x86_64()
malloc_failure_modet malloc_failure_mode
std::size_t pointer_width
void set_classpath(const std::string &cp)
bool single_precision_constant
void set_object_bits_from_symbol_table(const symbol_tablet &)
Sets the number of bits used for object addresses.
void set_arch(const irep_idt &)
std::size_t long_int_width
enum configt::cppt::cpp_standardt cpp_standard