CBMC
|
Globally accessible architectural configuration. More...
#include <config.h>
Classes | |
struct | ansi_ct |
struct | bv_encodingt |
struct | cppt |
struct | javat |
struct | verilogt |
Public Member Functions | |
void | set_arch (const irep_idt &) |
void | set_from_symbol_table (const symbol_table_baset &) |
bool | set (const cmdlinet &cmdline) |
void | set_object_bits_from_symbol_table (const symbol_table_baset &) |
Sets the number of bits used for object addresses. | |
std::string | object_bits_info () |
mp_integer | max_malloc_size () const |
The maximum allocation size is determined by the number of bits that are left in the pointer of width ansi_c.pointer_width . | |
Static Public Member Functions | |
static irep_idt | this_architecture () |
static irep_idt | this_operating_system () |
Public Attributes | |
struct configt::ansi_ct | ansi_c |
struct configt::cppt | cpp |
struct configt::verilogt | verilog |
struct configt::javat | java |
struct configt::bv_encodingt | bv_encoding |
std::optional< std::string > | main |
Private Member Functions | |
void | set_classpath (const std::string &cp) |
mp_integer configt::max_malloc_size | ( | ) | const |
The maximum allocation size is determined by the number of bits that are left in the pointer of width ansi_c.pointer_width
.
The allocation size cannot exceed the number represented by the (signed) offset, otherwise it would not be possible to store a pointer into a valid bit of memory. Therefore, the max allocation size is 2^(offset_bits - 1), where the offset bits is the number of bits left in the pointer after the object bits.
The offset must be signed, as a pointer can point to the end of the memory block, and needs to be able to point back to the start.
Definition at line 1597 of file config.cpp.
std::string configt::object_bits_info | ( | ) |
Definition at line 1441 of file config.cpp.
Definition at line 863 of file config.cpp.
Definition at line 763 of file config.cpp.
Definition at line 1540 of file config.cpp.
void configt::set_from_symbol_table | ( | const symbol_table_baset & | symbol_table | ) |
Definition at line 1357 of file config.cpp.
void configt::set_object_bits_from_symbol_table | ( | const symbol_table_baset & | symbol_table | ) |
Sets the number of bits used for object addresses.
symbol_table | The symbol table |
Definition at line 1416 of file config.cpp.
|
static |
Definition at line 1452 of file config.cpp.
|
static |
Definition at line 1556 of file config.cpp.
struct configt::ansi_ct configt::ansi_c |
struct configt::bv_encodingt configt::bv_encoding |
struct configt::cppt configt::cpp |
struct configt::javat configt::java |
struct configt::verilogt configt::verilog |