9 struct obstack *type_obst;
35 ATOMIC_TYPE_ULONGLONG,
38 ATOMIC_TYPE_LONG_DOUBLE,
40 #ifdef PROVIDE_COMPLEX
41 ATOMIC_TYPE_FLOAT_COMPLEX,
42 ATOMIC_TYPE_DOUBLE_COMPLEX,
43 ATOMIC_TYPE_LONG_DOUBLE_COMPLEX,
45 #ifdef PROVIDE_IMAGINARY
46 ATOMIC_TYPE_FLOAT_IMAGINARY,
47 ATOMIC_TYPE_DOUBLE_IMAGINARY,
48 ATOMIC_TYPE_LONG_DOUBLE_IMAGINARY,
53 TYPE_QUALIFIER_CONST = 1 << 0,
54 TYPE_QUALIFIER_RESTRICT = 1 << 1,
55 TYPE_QUALIFIER_VOLATILE = 1 << 2,
56 TYPE_QUALIFIER_INLINE = 1 << 3,
64 struct atomic_type_t {
66 atomic_type_type_t atype;
69 struct builtin_type_t {
77 /* TODO: list of enum members */
78 source_position_t source_position;
81 struct pointer_type_t {
86 struct method_parameter_type_t {
88 method_parameter_type_t *next;
91 struct method_type_t {
94 method_parameter_type_t *parameter_types;
95 const char *abi_style;
98 struct compound_entry_t {
99 declaration_t *declaration;
100 compound_entry_t *next;
101 source_position_t source_position;
104 struct compound_type_t {
106 compound_entry_t *entries;
108 source_position_t source_position;