void configt::ansi_ct::set_from_symbol_table(const symbol_tablet &symbol_table) { // maybe not compiled from C/C++ if(symbol_table.symbols.find(CPROVER_PREFIX "architecture_" "int_width")== symbol_table.symbols.end()) return; namespacet ns(symbol_table); int_width=from_ns(ns, "int_width"); long_int_width=from_ns(ns, "long_int_width"); bool_width=1*8; char_width=from_ns(ns, "char_width"); short_int_width=from_ns(ns, "short_int_width"); long_long_int_width=from_ns(ns, "long_long_int_width"); pointer_width=from_ns(ns, "pointer_width"); single_width=from_ns(ns, "single_width"); double_width=from_ns(ns, "double_width"); long_double_width=from_ns(ns, "long_double_width"); wchar_t_width=from_ns(ns, "wchar_t_width"); char_is_unsigned=from_ns(ns, "char_is_unsigned")!=0; wchar_t_is_unsigned=from_ns(ns, "wchar_t_is_unsigned")!=0; use_fixed_for_float=from_ns(ns, "fixed_for_float")!=0; // for_has_scope, single_precision_constant, rounding_mode not // stored in namespace alignment=from_ns(ns, "alignment"); //memory_operand_size=from_ns(ns, "memory_operand_size"); memory_operand_size=int_width/8; endianness=(endiannesst)from_ns(ns, "endianness"); // os, arch not stored in namespace //NULL_is_zero=from_ns("NULL_is_zero"); NULL_is_zero=true; // mode, preprocessor (and all preprocessor command line options), // lib, string_abstraction not stored in namespace }
void configt::ansi_ct::set_from_context(const contextt &context) { namespacet ns(context); int_width=from_ns(ns, "int_width"); long_int_width=from_ns(ns, "long_int_width"); long_int_width=from_ns(ns, "long_int_width"); char_width=from_ns(ns, "char_width"); short_int_width=from_ns(ns, "short_int_width"); long_long_int_width=from_ns(ns, "long_long_int_width"); pointer_width=from_ns(ns, "pointer_width"); single_width=from_ns(ns, "single_width"); double_width=from_ns(ns, "double_width"); long_double_width=from_ns(ns, "long_double_width"); char_is_unsigned=from_ns(ns, "char_is_unsigned"); wchar_t_width=from_ns(ns, "wchar_t_width"); alignment=from_ns(ns, "alignment"); use_fixed_for_float=from_ns(ns, "fixed_for_float"); endianness=(endiannesst)from_ns(ns, "endianness"); //memory_operand_size=from_ns(ns, "memory_operand_size"); memory_operand_size=int_width/8; }