specifiers->type = result;
}
-static unsigned parse_type_qualifiers(void)
+static type_qualifiers_t parse_type_qualifiers(void)
{
- unsigned type_qualifiers = TYPE_QUALIFIER_NONE;
+ type_qualifiers_t type_qualifiers = TYPE_QUALIFIER_NONE;
while(true) {
switch(token.type) {
typedef struct parsed_pointer_t parsed_pointer_t;
struct parsed_pointer_t {
construct_type_t construct_type;
- type_qualifier_t type_qualifiers;
+ type_qualifiers_t type_qualifiers;
};
typedef struct construct_function_type_t construct_function_type_t;
typedef struct parsed_array_t parsed_array_t;
struct parsed_array_t {
construct_type_t construct_type;
- type_qualifier_t type_qualifiers;
+ type_qualifiers_t type_qualifiers;
bool is_static;
bool is_variable;
expression_t *size;
next_token();
}
- type_qualifier_t type_qualifiers = parse_type_qualifiers();
+ type_qualifiers_t type_qualifiers = parse_type_qualifiers();
if(type_qualifiers != 0) {
if(token.type == T_static) {
array->is_static = true;
}
}
- expression->expression.datatype = make_pointer_type(orig_type, 0);
+ expression->expression.datatype = make_pointer_type(orig_type, TYPE_QUALIFIER_NONE);
}
#define CREATE_UNARY_EXPRESSION_PARSER(token_type, unexpression_type, sfunc) \
init_expression_parsers();
obstack_init(&temp_obst);
- type_int = make_atomic_type(ATOMIC_TYPE_INT, 0);
- type_uint = make_atomic_type(ATOMIC_TYPE_UINT, 0);
- type_long_double = make_atomic_type(ATOMIC_TYPE_LONG_DOUBLE, 0);
- type_double = make_atomic_type(ATOMIC_TYPE_DOUBLE, 0);
- type_float = make_atomic_type(ATOMIC_TYPE_FLOAT, 0);
- type_size_t = make_atomic_type(ATOMIC_TYPE_ULONG, 0);
- type_ptrdiff_t = make_atomic_type(ATOMIC_TYPE_LONG, 0);
+ type_int = make_atomic_type(ATOMIC_TYPE_INT, TYPE_QUALIFIER_NONE);
+ type_uint = make_atomic_type(ATOMIC_TYPE_UINT, TYPE_QUALIFIER_NONE);
+ type_long_double = make_atomic_type(ATOMIC_TYPE_LONG_DOUBLE, TYPE_QUALIFIER_NONE);
+ type_double = make_atomic_type(ATOMIC_TYPE_DOUBLE, TYPE_QUALIFIER_NONE);
+ type_float = make_atomic_type(ATOMIC_TYPE_FLOAT, TYPE_QUALIFIER_NONE);
+ type_size_t = make_atomic_type(ATOMIC_TYPE_ULONG, TYPE_QUALIFIER_NONE);
+ type_ptrdiff_t = make_atomic_type(ATOMIC_TYPE_LONG, TYPE_QUALIFIER_NONE);
type_const_char = make_atomic_type(ATOMIC_TYPE_CHAR, TYPE_QUALIFIER_CONST);
- type_void = make_atomic_type(ATOMIC_TYPE_VOID, 0);
- type_void_ptr = make_pointer_type(type_void, 0);
- type_string = make_pointer_type(type_const_char, 0);
+ type_void = make_atomic_type(ATOMIC_TYPE_VOID, TYPE_QUALIFIER_NONE);
+ type_void_ptr = make_pointer_type(type_void, TYPE_QUALIFIER_NONE);
+ type_string = make_pointer_type(type_const_char, TYPE_QUALIFIER_NONE);
}
void exit_parser(void)
return result;
}
-type_t *make_atomic_type(atomic_type_type_t type, type_qualifier_t qualifiers)
+type_t *make_atomic_type(atomic_type_type_t type, type_qualifiers_t qualifiers)
{
atomic_type_t *atomic_type
= obstack_alloc(type_obst, sizeof(atomic_type[0]));
return identify_new_type((type_t*) atomic_type);
}
-type_t *make_pointer_type(type_t *points_to, type_qualifier_t qualifiers)
+type_t *make_pointer_type(type_t *points_to, type_qualifiers_t qualifiers)
{
pointer_type_t *pointer_type
= obstack_alloc(type_obst, sizeof(pointer_type[0]));