Commit f131795b authored by Richard Pospesel's avatar Richard Pospesel Committed by Alexandre Julliard

widl: Pass a decl_spec_t to type_new_alias().

parent d4dfbb63
...@@ -1188,7 +1188,8 @@ static void decl_builtin_basic(const char *name, enum type_basic_type type) ...@@ -1188,7 +1188,8 @@ static void decl_builtin_basic(const char *name, enum type_basic_type type)
static void decl_builtin_alias(const char *name, type_t *t) static void decl_builtin_alias(const char *name, type_t *t)
{ {
reg_type(type_new_alias(t, name), name, NULL, 0); const decl_spec_t ds = {.type = t};
reg_type(type_new_alias(&ds, name), name, NULL, 0);
} }
void init_types(void) void init_types(void)
...@@ -1802,7 +1803,8 @@ static declarator_t *make_declarator(var_t *var) ...@@ -1802,7 +1803,8 @@ static declarator_t *make_declarator(var_t *var)
static type_t *make_safearray(type_t *type) static type_t *make_safearray(type_t *type)
{ {
const decl_spec_t ds = {.type = type_new_alias(type, "SAFEARRAY")}; decl_spec_t ds = {.type = type};
ds.type = type_new_alias(&ds, "SAFEARRAY");
return type_new_array(NULL, &ds, TRUE, 0, NULL, NULL, FC_RP); return type_new_array(NULL, &ds, TRUE, 0, NULL, NULL, FC_RP);
} }
...@@ -1975,7 +1977,7 @@ static type_t *reg_typedefs(decl_spec_t *decl_spec, declarator_list_t *decls, at ...@@ -1975,7 +1977,7 @@ static type_t *reg_typedefs(decl_spec_t *decl_spec, declarator_list_t *decls, at
cur->loc_info.line_number); cur->loc_info.line_number);
name = declare_var(attrs, decl_spec, decl, 0); name = declare_var(attrs, decl_spec, decl, 0);
cur = type_new_alias(name->declspec.type, name->name); cur = type_new_alias(&name->declspec, name->name);
cur->attrs = attrs; cur->attrs = attrs;
if (is_incomplete(cur)) if (is_incomplete(cur))
......
...@@ -184,13 +184,13 @@ type_t *type_new_pointer(unsigned char pointer_default, type_t *ref, attr_list_t ...@@ -184,13 +184,13 @@ type_t *type_new_pointer(unsigned char pointer_default, type_t *ref, attr_list_t
return t; return t;
} }
type_t *type_new_alias(type_t *t, const char *name) type_t *type_new_alias(const decl_spec_t *t, const char *name)
{ {
type_t *a = make_type(TYPE_ALIAS); type_t *a = make_type(TYPE_ALIAS);
a->name = xstrdup(name); a->name = xstrdup(name);
a->attrs = NULL; a->attrs = NULL;
a->details.alias.aliasee.type = t; a->details.alias.aliasee = *t;
init_loc_info(&a->loc_info); init_loc_info(&a->loc_info);
return a; return a;
......
...@@ -31,7 +31,7 @@ enum name_type { ...@@ -31,7 +31,7 @@ enum name_type {
type_t *type_new_function(var_list_t *args); type_t *type_new_function(var_list_t *args);
type_t *type_new_pointer(unsigned char pointer_default, type_t *ref, attr_list_t *attrs); type_t *type_new_pointer(unsigned char pointer_default, type_t *ref, attr_list_t *attrs);
type_t *type_new_alias(type_t *t, const char *name); type_t *type_new_alias(const decl_spec_t *t, const char *name);
type_t *type_new_module(char *name); type_t *type_new_module(char *name);
type_t *type_new_array(const char *name, const decl_spec_t *element, int declptr, type_t *type_new_array(const char *name, const decl_spec_t *element, int declptr,
unsigned int dim, expr_t *size_is, expr_t *length_is, unsigned int dim, expr_t *size_is, expr_t *length_is,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment