cprover
configt::ansi_ct Struct Reference

#include <config.h>

Collaboration diagram for configt::ansi_ct:
[legend]

Public Types

enum  c_standardt { c_standardt::C89, c_standardt::C99, c_standardt::C11 }
 
enum  endiannesst { endiannesst::NO_ENDIANNESS, endiannesst::IS_LITTLE_ENDIAN, endiannesst::IS_BIG_ENDIAN }
 
enum  ost { ost::NO_OS, ost::OS_LINUX, ost::OS_MACOS, ost::OS_WIN }
 
enum  flavourt {
  flavourt::NONE, flavourt::ANSI, flavourt::GCC, flavourt::ARM,
  flavourt::APPLE, flavourt::VISUAL_STUDIO, flavourt::CODEWARRIOR
}
 
enum  preprocessort {
  preprocessort::NONE, preprocessort::GCC, preprocessort::CLANG, preprocessort::VISUAL_STUDIO,
  preprocessort::CODEWARRIOR, preprocessort::ARM
}
 
enum  libt { libt::LIB_NONE, libt::LIB_FULL }
 

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_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 ()
 

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 Float128_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
 

Static Public Attributes

static const std::size_t default_object_bits =8
 

Detailed Description

Definition at line 27 of file config.h.

Member Enumeration Documentation

◆ c_standardt

Enumerator
C89 
C99 
C11 

Definition at line 48 of file config.h.

◆ endiannesst

Enumerator
NO_ENDIANNESS 
IS_LITTLE_ENDIAN 
IS_BIG_ENDIAN 

Definition at line 75 of file config.h.

◆ flavourt

Enumerator
NONE 
ANSI 
GCC 
ARM 
APPLE 
VISUAL_STUDIO 
CODEWARRIOR 

Definition at line 104 of file config.h.

◆ libt

Enumerator
LIB_NONE 
LIB_FULL 

Definition at line 118 of file config.h.

◆ ost

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

Definition at line 78 of file config.h.

◆ preprocessort

Enumerator
NONE 
GCC 
CLANG 
VISUAL_STUDIO 
CODEWARRIOR 
ARM 

Definition at line 108 of file config.h.

Member Function Documentation

◆ default_c_standard()

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

◆ os_to_string()

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

Definition at line 1041 of file config.cpp.

Referenced by ansi_c_architecture_strings().

◆ set_16()

void configt::ansi_ct::set_16 ( )

Definition at line 25 of file config.cpp.

References set_LP32().

Referenced by configt::set().

◆ set_32()

void configt::ansi_ct::set_32 ( )

Definition at line 30 of file config.cpp.

Referenced by configt::set(), and configt::set_arch().

◆ set_64()

void configt::ansi_ct::set_64 ( )

Definition at line 35 of file config.cpp.

Referenced by configt::set(), and configt::set_arch().

◆ set_arch_spec_alpha()

void configt::ansi_ct::set_arch_spec_alpha ( )

Definition at line 321 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_arm()

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

Definition at line 278 of file config.cpp.

References UNREACHABLE.

Referenced by gcc_modet::doit(), and configt::set_arch().

◆ set_arch_spec_hppa()

void configt::ansi_ct::set_arch_spec_hppa ( )

Definition at line 588 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_i386()

void configt::ansi_ct::set_arch_spec_i386 ( )

Definition at line 148 of file config.cpp.

References UNREACHABLE.

Referenced by gcc_modet::doit(), and configt::set_arch().

◆ set_arch_spec_ia64()

void configt::ansi_ct::set_arch_spec_ia64 ( )

Definition at line 497 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_mips()

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

Definition at line 350 of file config.cpp.

References configt::ansi_c, config, pointer_width, to_string(), and UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_power()

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

Definition at line 217 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_s390()

void configt::ansi_ct::set_arch_spec_s390 ( )

Definition at line 400 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_s390x()

void configt::ansi_ct::set_arch_spec_s390x ( )

Definition at line 429 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_sh4()

void configt::ansi_ct::set_arch_spec_sh4 ( )

Definition at line 617 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_sparc()

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

Definition at line 457 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_v850()

void configt::ansi_ct::set_arch_spec_v850 ( )

Sets up the widths of variables for the Renesas V850.

Returns
None

Definition at line 565 of file config.cpp.

Referenced by configt::set_arch().

◆ set_arch_spec_x32()

void configt::ansi_ct::set_arch_spec_x32 ( )

Definition at line 528 of file config.cpp.

References UNREACHABLE.

Referenced by configt::set_arch().

◆ set_arch_spec_x86_64()

void configt::ansi_ct::set_arch_spec_x86_64 ( )

Definition at line 180 of file config.cpp.

References UNREACHABLE.

Referenced by gcc_modet::doit(), and configt::set_arch().

◆ set_c11()

◆ set_c89()

◆ set_c99()

◆ set_ILP32()

void configt::ansi_ct::set_ILP32 ( )

int=32, long=32, pointer=32

Definition at line 109 of file config.cpp.

References alignment().

Referenced by configt::set().

◆ set_ILP64()

void configt::ansi_ct::set_ILP64 ( )

int=64, long=64, pointer=64

Definition at line 69 of file config.cpp.

References alignment().

Referenced by configt::set().

◆ set_LLP64()

void configt::ansi_ct::set_LLP64 ( )

int=32, long=32, pointer=64

Definition at line 89 of file config.cpp.

References alignment().

Referenced by configt::set().

◆ set_LP32()

void configt::ansi_ct::set_LP32 ( )

int=16, long=32, pointer=32

Definition at line 129 of file config.cpp.

References alignment().

Referenced by configt::set(), and set_16().

◆ set_LP64()

void configt::ansi_ct::set_LP64 ( )

int=32, long=64, pointer=64

Definition at line 45 of file config.cpp.

References alignment().

Referenced by configt::set().

◆ string_to_os()

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

Definition at line 1052 of file config.cpp.

Referenced by configt::set_from_symbol_table().

Member Data Documentation

◆ alignment

std::size_t configt::ansi_ct::alignment

◆ arch

◆ bool_width

std::size_t configt::ansi_ct::bool_width

◆ c_standard

◆ char_is_unsigned

◆ char_width

◆ default_object_bits

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

Definition at line 123 of file config.h.

Referenced by configt::set_object_bits_from_symbol_table().

◆ defines

◆ double_width

std::size_t configt::ansi_ct::double_width

◆ endianness

◆ Float128_type

bool configt::ansi_ct::Float128_type

Definition at line 46 of file config.h.

Referenced by gcc_modet::doit(), ansi_c_languaget::parse(), and configt::set().

◆ for_has_scope

bool configt::ansi_ct::for_has_scope

◆ include_files

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

◆ include_paths

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

◆ int_width

◆ lib

libt configt::ansi_ct::lib

◆ long_double_width

std::size_t configt::ansi_ct::long_double_width

◆ long_int_width

◆ long_long_int_width

◆ memory_operand_size

std::size_t configt::ansi_ct::memory_operand_size

◆ mode

◆ NULL_is_zero

◆ os

◆ pointer_width

◆ preprocessor

preprocessort configt::ansi_ct::preprocessor

◆ preprocessor_options

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

◆ rounding_mode

ieee_floatt::rounding_modet configt::ansi_ct::rounding_mode

Definition at line 55 of file config.h.

Referenced by ansi_c_internal_additions(), cpp_internal_additions(), and configt::set().

◆ short_int_width

◆ single_precision_constant

bool configt::ansi_ct::single_precision_constant

Definition at line 47 of file config.h.

Referenced by convert_float_literal(), gcc_modet::doit(), and configt::set().

◆ single_width

◆ string_abstraction

bool configt::ansi_ct::string_abstraction

Definition at line 121 of file config.h.

Referenced by get_cprover_library_text(), and configt::set().

◆ ts_18661_3_Floatn_types

bool configt::ansi_ct::ts_18661_3_Floatn_types

◆ undefines

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

Definition at line 113 of file config.h.

Referenced by armcc_modet::doit(), ms_cl_modet::doit(), cw_modet::doit(), and gcc_modet::doit().

◆ wchar_t_is_unsigned

bool configt::ansi_ct::wchar_t_is_unsigned

◆ wchar_t_width

std::size_t configt::ansi_ct::wchar_t_width

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