- } else if (!def->var->pointer_level) {
- if (!psi_decl_type_validate(data, def->type, type_stack)) {
- const char *pre;
-
- switch (def->type->type) {
- case PSI_T_STRUCT:
- pre = "struct ";
- break;
- case PSI_T_UNION:
- pre = "union ";
- break;
- case PSI_T_ENUM:
- pre = "enum ";
- break;
- default:
- pre = "";
- break;
- }
- data->error(data, def->token, PSI_WARNING,
- "Type '%s' cannot be aliased to '%s%s': %s", def->var->name, pre,
- def->type->name, data->last_error);
- return false;
+ } else if (!psi_decl_type_validate(data, def->type, def, scope)) {
+ const char *pre;
+
+ switch (def->type->type) {
+ case PSI_T_STRUCT:
+ pre = "struct ";
+ break;
+ case PSI_T_UNION:
+ pre = "union ";
+ break;
+ case PSI_T_ENUM:
+ pre = "enum ";
+ break;
+ default:
+ pre = "";
+ break;