Fix missing early resolution on demand of parameterized types.

This commit is contained in:
Christoffer Lerno
2022-12-08 19:48:36 +01:00
parent de4bfe470e
commit 13cb637cb4
2 changed files with 10 additions and 9 deletions

View File

@@ -453,14 +453,14 @@ static bool sema_analyse_struct_union(SemaContext *context, Decl *decl)
if (decl->name)
{
Decl** state = sema_decl_stack_store();
if (decl->decl_kind == DECL_UNION)
{
success = sema_analyse_union_members(context, decl, decl->strukt.members);
}
else
{
success = sema_analyse_struct_members(context, decl, decl->strukt.members);
}
if (decl->decl_kind == DECL_UNION)
{
success = sema_analyse_union_members(context, decl, decl->strukt.members);
}
else
{
success = sema_analyse_struct_members(context, decl, decl->strukt.members);
}
sema_decl_stack_restore(state);
}
else
@@ -2719,6 +2719,7 @@ static bool sema_analyse_parameterized_define(SemaContext *c, Decl *decl)
{
Type *type = type_new(TYPE_TYPEDEF, decl->name);
decl->type = type;
type->decl = symbol;
decl->decl_kind = DECL_TYPEDEF;
type->canonical = symbol->type->canonical;
return true;

View File

@@ -1 +1 @@
#define COMPILER_VERSION "0.3.112"
#define COMPILER_VERSION "0.3.113"