15 std::string qualifiers;
21 qualifiers+=
"volatile ";
24 qualifiers+=
"restrict ";
27 qualifiers+=
"_Atomic ";
30 qualifiers+=
"__ptr32 ";
33 qualifiers+=
"__ptr64 ";
36 qualifiers+=
"_Noreturn ";
61 if(src.
get_bool(ID_C_transparent_union))
71 dest.
set(ID_C_constant,
true);
73 dest.
remove(ID_C_constant);
76 dest.
set(ID_C_volatile,
true);
78 dest.
remove(ID_C_volatile);
81 dest.
set(ID_C_restricted,
true);
83 dest.
remove(ID_C_restricted);
86 dest.
set(ID_C_atomic,
true);
91 dest.
set(ID_C_ptr32,
true);
96 dest.
set(ID_C_ptr64,
true);
101 dest.
set(ID_C_transparent_union,
true);
103 dest.
remove(ID_C_transparent_union);
106 dest.
set(ID_C_noreturn,
true);
108 dest.
remove(ID_C_noreturn);
113 dest.
remove(ID_C_constant);
114 dest.
remove(ID_C_volatile);
115 dest.
remove(ID_C_restricted);
118 dest.
remove(ID_C_transparent_union);
119 dest.
remove(ID_C_noreturn);
The type of an expression.
bool get_bool(const irep_namet &name) const
void read(const typet &src)
void write(typet &src) const
bool is_transparent_union
std::string as_string() const
std::ostream & operator<<(std::ostream &out, const c_qualifierst &c_qualifiers)
pretty-print the qualifiers
void remove(const irep_namet &name)
void set(const irep_namet &name, const irep_idt &value)