+struct bitfield_type_t {
+ type_base_t type;
+ type_t *base;
+ expression_t *size;
+};
+
+union type_t {
+ type_kind_t kind;
+ type_base_t base;
+ atomic_type_t atomic;
+ builtin_type_t builtin;
+ pointer_type_t pointer;
+ array_type_t array;
+ function_type_t function;
+ compound_type_t compound;
+ enum_type_t enumt;
+ typedef_type_t typedeft;
+ bitfield_type_t bitfield;
+ typeof_type_t typeoft;
+};
+
+type_t *make_atomic_type(atomic_type_kind_t type, type_qualifiers_t qualifiers);