Go to the documentation of this file.
29 auto other = util_make_unique<c_qualifierst>();
31 return std::move(other);
36 std::string qualifiers;
42 qualifiers+=
"volatile ";
45 qualifiers+=
"restrict ";
48 qualifiers+=
"_Atomic ";
51 qualifiers+=
"__ptr32 ";
54 qualifiers+=
"__ptr64 ";
57 qualifiers+=
"_Noreturn ";
82 if(src.
get_bool(ID_C_transparent_union))
92 dest.
set(ID_C_constant,
true);
94 dest.
remove(ID_C_constant);
97 dest.
set(ID_C_volatile,
true);
99 dest.
remove(ID_C_volatile);
102 dest.
set(ID_C_restricted,
true);
104 dest.
remove(ID_C_restricted);
107 dest.
set(ID_C_atomic,
true);
112 dest.
set(ID_C_ptr32,
true);
117 dest.
set(ID_C_ptr64,
true);
122 dest.
set(ID_C_transparent_union,
true);
124 dest.
remove(ID_C_transparent_union);
127 dest.
set(ID_C_noreturn,
true);
129 dest.
remove(ID_C_noreturn);
134 dest.
remove(ID_C_constant);
135 dest.
remove(ID_C_volatile);
136 dest.
remove(ID_C_restricted);
139 dest.
remove(ID_C_transparent_union);
140 dest.
remove(ID_C_noreturn);
virtual void read(const typet &src) override
The type of an expression, extends irept.
virtual void clear() override
std::ostream & operator<<(std::ostream &out, const qualifierst &qualifiers)
pretty-print the qualifiers
void set(const irep_idt &name, const irep_idt &value)
virtual std::unique_ptr< qualifierst > clone() const override
virtual void write(typet &src) const override
c_qualifierst & operator=(const c_qualifierst &other)
void remove(const irep_idt &name)
virtual std::string as_string() const =0
virtual std::string as_string() const override
bool get_bool(const irep_idt &name) const
bool is_transparent_union