From 2f9e7e8a3a8239bc4b4f880cc5e91c23cdd154dc Mon Sep 17 00:00:00 2001 From: Leo Tenenbaum Date: Tue, 12 May 2020 16:45:04 -0400 Subject: fixed struct #ifs --- cgen.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'cgen.c') diff --git a/cgen.c b/cgen.c index a88f516..4702226 100644 --- a/cgen.c +++ b/cgen.c @@ -143,7 +143,7 @@ static void cgen_defs_decl(CGenerator *g, Declaration *d); } -#define cgen_recurse_subtypes(f, g, type) \ +#define cgen_recurse_subtypes(g, type, f) \ switch (type->kind) { \ case TYPE_STRUCT: \ /* don't descend into fields */ \ @@ -2171,10 +2171,11 @@ static void cgen_defs_type(CGenerator *g, Type *t) { if (t->kind == TYPE_STRUCT) { StructDef *sdef = t->struc; if (!(sdef->flags & STRUCT_DEF_CGEN_FN_DEFS)) { - cgen_defs_block(g, &sdef->body); sdef->flags |= STRUCT_DEF_CGEN_FN_DEFS; + cgen_defs_block(g, &sdef->body); } } + cgen_recurse_subtypes(g, t, cgen_defs_type); } static void cgen_defs_fn(CGenerator *g, FnExpr *f) { -- cgit v1.2.3