diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-05-12 16:45:04 -0400 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-05-12 16:45:04 -0400 |
commit | 2f9e7e8a3a8239bc4b4f880cc5e91c23cdd154dc (patch) | |
tree | e660c6cece49b3abc8000b5b8ef00d7ed43aba11 /cgen.c | |
parent | d5e0c67e29e7da0e393a9e0d50cfa36f9829165d (diff) |
fixed struct #ifs
Diffstat (limited to 'cgen.c')
-rw-r--r-- | cgen.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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) { |