10 struct obstack *type_obst;
36 ATOMIC_TYPE_ULONGLONG,
39 ATOMIC_TYPE_LONG_DOUBLE,
41 #ifdef PROVIDE_COMPLEX
42 ATOMIC_TYPE_FLOAT_COMPLEX,
43 ATOMIC_TYPE_DOUBLE_COMPLEX,
44 ATOMIC_TYPE_LONG_DOUBLE_COMPLEX,
46 #ifdef PROVIDE_IMAGINARY
47 ATOMIC_TYPE_FLOAT_IMAGINARY,
48 ATOMIC_TYPE_DOUBLE_IMAGINARY,
49 ATOMIC_TYPE_LONG_DOUBLE_IMAGINARY,
54 TYPE_QUALIFIER_CONST = 1 << 0,
55 TYPE_QUALIFIER_RESTRICT = 1 << 1,
56 TYPE_QUALIFIER_VOLATILE = 1 << 2,
57 TYPE_QUALIFIER_INLINE = 1 << 3,
65 struct atomic_type_t {
67 atomic_type_type_t atype;
70 struct builtin_type_t {
78 /* TODO: list of enum members */
79 source_position_t source_position;
82 struct pointer_type_t {
87 struct method_parameter_type_t {
90 method_parameter_type_t *next;
93 struct method_type_t {
96 method_parameter_type_t *parameter_types;
98 int unspecified_parameters;
101 struct compound_type_t {
105 source_position_t source_position;