CBMC
configt::ansi_ct Struct Reference

#include <config.h>

+ Collaboration diagram for configt::ansi_ct:

Public Types

enum class  c_standardt { C89 , C99 , C11 }
 
enum class  endiannesst { NO_ENDIANNESS , IS_LITTLE_ENDIAN , IS_BIG_ENDIAN }
 
enum class  ost { NO_OS , OS_LINUX , OS_MACOS , OS_WIN }
 
enum class  flavourt {
  NONE , ANSI , GCC , ARM ,
  CLANG , VISUAL_STUDIO , CODEWARRIOR
}
 
enum class  preprocessort {
  NONE , GCC , CLANG , VISUAL_STUDIO ,
  CODEWARRIOR , ARM
}
 
enum class  libt { LIB_NONE , LIB_FULL }
 
enum  malloc_failure_modet { malloc_failure_mode_none = 0 , malloc_failure_mode_return_null = 1 , malloc_failure_mode_assert_then_assume = 2 }
 

Public Member Functions

void set_c89 ()
 
void set_c99 ()
 
void set_c11 ()
 
void set_16 ()
 
void set_32 ()
 
void set_64 ()
 
void set_LP64 ()
 int=32, long=64, pointer=64 More...
 
void set_ILP64 ()
 int=64, long=64, pointer=64 More...
 
void set_LLP64 ()
 int=32, long=32, pointer=64 More...
 
void set_ILP32 ()
 int=32, long=32, pointer=32 More...
 
void set_LP32 ()
 int=16, long=32, pointer=32 More...
 
void set_arch_spec_i386 ()
 
void set_arch_spec_x86_64 ()
 
void set_arch_spec_power (const irep_idt &subarch)
 
void set_arch_spec_arm (const irep_idt &subarch)
 
void set_arch_spec_alpha ()
 
void set_arch_spec_mips (const irep_idt &subarch)
 
void set_arch_spec_riscv64 ()
 
void set_arch_spec_s390 ()
 
void set_arch_spec_s390x ()
 
void set_arch_spec_sparc (const irep_idt &subarch)
 
void set_arch_spec_ia64 ()
 
void set_arch_spec_x32 ()
 
void set_arch_spec_v850 ()
 Sets up the widths of variables for the Renesas V850. More...
 
void set_arch_spec_hppa ()
 
void set_arch_spec_sh4 ()
 
void set_arch_spec_loongarch64 ()
 
void set_arch_spec_emscripten ()
 

Static Public Member Functions

static c_standardt default_c_standard ()
 
static std::string os_to_string (ost)
 
static ost string_to_os (const std::string &)
 

Public Attributes

std::size_t int_width
 
std::size_t long_int_width
 
std::size_t bool_width
 
std::size_t char_width
 
std::size_t short_int_width
 
std::size_t long_long_int_width
 
std::size_t pointer_width
 
std::size_t single_width
 
std::size_t double_width
 
std::size_t long_double_width
 
std::size_t wchar_t_width
 
bool char_is_unsigned
 
bool wchar_t_is_unsigned
 
bool for_has_scope
 
bool ts_18661_3_Floatn_types
 
bool gcc__float128_type
 
bool __float128_is_keyword
 
bool float16_type
 
bool bf16_type
 
bool fp16_type
 
bool single_precision_constant
 
enum configt::ansi_ct::c_standardt c_standard
 
ieee_floatt::rounding_modet rounding_mode
 
std::size_t alignment
 
std::size_t memory_operand_size
 
endiannesst endianness
 
ost os
 
irep_idt arch
 
bool NULL_is_zero
 
flavourt mode
 
preprocessort preprocessor
 
std::list< std::string > defines
 
std::list< std::string > undefines
 
std::list< std::string > preprocessor_options
 
std::list< std::string > include_paths
 
std::list< std::string > include_files
 
libt lib
 
bool string_abstraction
 
bool malloc_may_fail = true
 
malloc_failure_modet malloc_failure_mode = malloc_failure_mode_return_null
 
std::optional< mp_integermax_argc
 Maximum value of argc, which is operating-systems dependent: Windows limits the number of characters accepte by CreateProcess, and Unix systems have sysconf(ARG_MAX). More...
 

Static Public Attributes

static const std::size_t default_object_bits = 8
 

Detailed Description

Definition at line 134 of file config.h.

Member Enumeration Documentation

◆ c_standardt

Enumerator
C89 
C99 
C11 

Definition at line 159 of file config.h.

◆ endiannesst

Enumerator
NO_ENDIANNESS 
IS_LITTLE_ENDIAN 
IS_BIG_ENDIAN 

Definition at line 203 of file config.h.

◆ flavourt

Enumerator
NONE 
ANSI 
GCC 
ARM 
CLANG 
VISUAL_STUDIO 
CODEWARRIOR 

Definition at line 246 of file config.h.

◆ libt

Enumerator
LIB_NONE 
LIB_FULL 

Definition at line 275 of file config.h.

◆ malloc_failure_modet

Enumerator
malloc_failure_mode_none 
malloc_failure_mode_return_null 
malloc_failure_mode_assert_then_assume 

Definition at line 285 of file config.h.

◆ ost

enum configt::ansi_ct::ost
strong
Enumerator
NO_OS 
OS_LINUX 
OS_MACOS 
OS_WIN 

Definition at line 211 of file config.h.

◆ preprocessort

Enumerator
NONE 
GCC 
CLANG 
VISUAL_STUDIO 
CODEWARRIOR 
ARM 

Definition at line 258 of file config.h.

Member Function Documentation

◆ default_c_standard()

configt::ansi_ct::c_standardt configt::ansi_ct::default_c_standard ( )
static

Definition at line 736 of file config.cpp.

◆ os_to_string()

std::string configt::ansi_ct::os_to_string ( ost  os)
static

Definition at line 1268 of file config.cpp.

◆ set_16()

void configt::ansi_ct::set_16 ( )

Definition at line 27 of file config.cpp.

◆ set_32()

void configt::ansi_ct::set_32 ( )

Definition at line 32 of file config.cpp.

◆ set_64()

void configt::ansi_ct::set_64 ( )

Definition at line 37 of file config.cpp.

◆ set_arch_spec_alpha()

void configt::ansi_ct::set_arch_spec_alpha ( )

Definition at line 327 of file config.cpp.

◆ set_arch_spec_arm()

void configt::ansi_ct::set_arch_spec_arm ( const irep_idt subarch)

Definition at line 281 of file config.cpp.

◆ set_arch_spec_emscripten()

void configt::ansi_ct::set_arch_spec_emscripten ( )

Definition at line 707 of file config.cpp.

◆ set_arch_spec_hppa()

void configt::ansi_ct::set_arch_spec_hppa ( )

Definition at line 619 of file config.cpp.

◆ set_arch_spec_i386()

void configt::ansi_ct::set_arch_spec_i386 ( )

Definition at line 150 of file config.cpp.

◆ set_arch_spec_ia64()

void configt::ansi_ct::set_arch_spec_ia64 ( )

Definition at line 529 of file config.cpp.

◆ set_arch_spec_loongarch64()

void configt::ansi_ct::set_arch_spec_loongarch64 ( )

Definition at line 678 of file config.cpp.

◆ set_arch_spec_mips()

void configt::ansi_ct::set_arch_spec_mips ( const irep_idt subarch)

Definition at line 356 of file config.cpp.

◆ set_arch_spec_power()

void configt::ansi_ct::set_arch_spec_power ( const irep_idt subarch)

Definition at line 220 of file config.cpp.

◆ set_arch_spec_riscv64()

void configt::ansi_ct::set_arch_spec_riscv64 ( )

Definition at line 406 of file config.cpp.

◆ set_arch_spec_s390()

void configt::ansi_ct::set_arch_spec_s390 ( )

Definition at line 432 of file config.cpp.

◆ set_arch_spec_s390x()

void configt::ansi_ct::set_arch_spec_s390x ( )

Definition at line 461 of file config.cpp.

◆ set_arch_spec_sh4()

void configt::ansi_ct::set_arch_spec_sh4 ( )

Definition at line 648 of file config.cpp.

◆ set_arch_spec_sparc()

void configt::ansi_ct::set_arch_spec_sparc ( const irep_idt subarch)

Definition at line 489 of file config.cpp.

◆ set_arch_spec_v850()

void configt::ansi_ct::set_arch_spec_v850 ( )

Sets up the widths of variables for the Renesas V850.

Definition at line 596 of file config.cpp.

◆ set_arch_spec_x32()

void configt::ansi_ct::set_arch_spec_x32 ( )

Definition at line 560 of file config.cpp.

◆ set_arch_spec_x86_64()

void configt::ansi_ct::set_arch_spec_x86_64 ( )

Definition at line 182 of file config.cpp.

◆ set_c11()

void configt::ansi_ct::set_c11 ( )
inline

Definition at line 177 of file config.h.

◆ set_c89()

void configt::ansi_ct::set_c89 ( )
inline

Definition at line 167 of file config.h.

◆ set_c99()

void configt::ansi_ct::set_c99 ( )
inline

Definition at line 172 of file config.h.

◆ set_ILP32()

void configt::ansi_ct::set_ILP32 ( )

int=32, long=32, pointer=32

Definition at line 111 of file config.cpp.

◆ set_ILP64()

void configt::ansi_ct::set_ILP64 ( )

int=64, long=64, pointer=64

Definition at line 71 of file config.cpp.

◆ set_LLP64()

void configt::ansi_ct::set_LLP64 ( )

int=32, long=32, pointer=64

Definition at line 91 of file config.cpp.

◆ set_LP32()

void configt::ansi_ct::set_LP32 ( )

int=16, long=32, pointer=32

Definition at line 131 of file config.cpp.

◆ set_LP64()

void configt::ansi_ct::set_LP64 ( )

int=32, long=64, pointer=64

Definition at line 47 of file config.cpp.

◆ string_to_os()

configt::ansi_ct::ost configt::ansi_ct::string_to_os ( const std::string &  os)
static

Definition at line 1283 of file config.cpp.

Member Data Documentation

◆ __float128_is_keyword

bool configt::ansi_ct::__float128_is_keyword

Definition at line 154 of file config.h.

◆ alignment

std::size_t configt::ansi_ct::alignment

Definition at line 197 of file config.h.

◆ arch

irep_idt configt::ansi_ct::arch

Definition at line 223 of file config.h.

◆ bf16_type

bool configt::ansi_ct::bf16_type

Definition at line 156 of file config.h.

◆ bool_width

std::size_t configt::ansi_ct::bool_width

Definition at line 139 of file config.h.

◆ c_standard

enum configt::ansi_ct::c_standardt configt::ansi_ct::c_standard

◆ char_is_unsigned

bool configt::ansi_ct::char_is_unsigned

Definition at line 150 of file config.h.

◆ char_width

std::size_t configt::ansi_ct::char_width

Definition at line 140 of file config.h.

◆ default_object_bits

const std::size_t configt::ansi_ct::default_object_bits = 8
static

Definition at line 294 of file config.h.

◆ defines

std::list<std::string> configt::ansi_ct::defines

Definition at line 269 of file config.h.

◆ double_width

std::size_t configt::ansi_ct::double_width

Definition at line 145 of file config.h.

◆ endianness

endiannesst configt::ansi_ct::endianness

Definition at line 209 of file config.h.

◆ float16_type

bool configt::ansi_ct::float16_type

Definition at line 155 of file config.h.

◆ for_has_scope

bool configt::ansi_ct::for_has_scope

Definition at line 151 of file config.h.

◆ fp16_type

bool configt::ansi_ct::fp16_type

Definition at line 157 of file config.h.

◆ gcc__float128_type

bool configt::ansi_ct::gcc__float128_type

Definition at line 153 of file config.h.

◆ include_files

std::list<std::string> configt::ansi_ct::include_files

Definition at line 273 of file config.h.

◆ include_paths

std::list<std::string> configt::ansi_ct::include_paths

Definition at line 272 of file config.h.

◆ int_width

std::size_t configt::ansi_ct::int_width

Definition at line 137 of file config.h.

◆ lib

libt configt::ansi_ct::lib

Definition at line 280 of file config.h.

◆ long_double_width

std::size_t configt::ansi_ct::long_double_width

Definition at line 146 of file config.h.

◆ long_int_width

std::size_t configt::ansi_ct::long_int_width

Definition at line 138 of file config.h.

◆ long_long_int_width

std::size_t configt::ansi_ct::long_long_int_width

Definition at line 142 of file config.h.

◆ malloc_failure_mode

malloc_failure_modet configt::ansi_ct::malloc_failure_mode = malloc_failure_mode_return_null

Definition at line 292 of file config.h.

◆ malloc_may_fail

bool configt::ansi_ct::malloc_may_fail = true

Definition at line 283 of file config.h.

◆ max_argc

std::optional<mp_integer> configt::ansi_ct::max_argc

Maximum value of argc, which is operating-systems dependent: Windows limits the number of characters accepte by CreateProcess, and Unix systems have sysconf(ARG_MAX).

Definition at line 299 of file config.h.

◆ memory_operand_size

std::size_t configt::ansi_ct::memory_operand_size

Definition at line 201 of file config.h.

◆ mode

flavourt configt::ansi_ct::mode

Definition at line 256 of file config.h.

◆ NULL_is_zero

bool configt::ansi_ct::NULL_is_zero

Definition at line 226 of file config.h.

◆ os

ost configt::ansi_ct::os

Definition at line 218 of file config.h.

◆ pointer_width

std::size_t configt::ansi_ct::pointer_width

Definition at line 143 of file config.h.

◆ preprocessor

preprocessort configt::ansi_ct::preprocessor

Definition at line 267 of file config.h.

◆ preprocessor_options

std::list<std::string> configt::ansi_ct::preprocessor_options

Definition at line 271 of file config.h.

◆ rounding_mode

ieee_floatt::rounding_modet configt::ansi_ct::rounding_mode

Definition at line 183 of file config.h.

◆ short_int_width

std::size_t configt::ansi_ct::short_int_width

Definition at line 141 of file config.h.

◆ single_precision_constant

bool configt::ansi_ct::single_precision_constant

Definition at line 158 of file config.h.

◆ single_width

std::size_t configt::ansi_ct::single_width

Definition at line 144 of file config.h.

◆ string_abstraction

bool configt::ansi_ct::string_abstraction

Definition at line 282 of file config.h.

◆ ts_18661_3_Floatn_types

bool configt::ansi_ct::ts_18661_3_Floatn_types

Definition at line 152 of file config.h.

◆ undefines

std::list<std::string> configt::ansi_ct::undefines

Definition at line 270 of file config.h.

◆ wchar_t_is_unsigned

bool configt::ansi_ct::wchar_t_is_unsigned

Definition at line 150 of file config.h.

◆ wchar_t_width

std::size_t configt::ansi_ct::wchar_t_width

Definition at line 147 of file config.h.


The documentation for this struct was generated from the following files: