18 if(subtype.
id()==ID_unsignedbv ||
19 subtype.
id()==ID_signedbv ||
20 subtype.
id()==ID_c_bool)
24 return std::move(result);
26 else if(subtype.
id()==ID_c_enum_tag)
28 const typet &sub_subtype=
31 if(sub_subtype.
id()==ID_signedbv ||
32 sub_subtype.
id()==ID_unsignedbv)
36 return std::move(result);
The type of an expression, extends irept.
const bitvector_typet & to_bitvector_type(const typet &type)
Cast a typet to a bitvector_typet.
typet c_bit_field_replacement_type(const c_bit_field_typet &src, const namespacet &ns)
const typet & follow_tag(const union_tag_typet &) const
Follow type tag of union type.
Type for C bit fields These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (...
const irep_idt & id() const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Base class of fixed-width bit-vector types.
std::size_t get_width() const
const c_enum_tag_typet & to_c_enum_tag_type(const typet &type)
Cast a typet to a c_enum_tag_typet.
The NIL type, i.e., an invalid type, no value.
const typet & subtype() const
void set_width(std::size_t width)