summaryrefslogtreecommitdiff
path: root/cgen.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2020-05-12 16:45:04 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2020-05-12 16:45:04 -0400
commit2f9e7e8a3a8239bc4b4f880cc5e91c23cdd154dc (patch)
treee660c6cece49b3abc8000b5b8ef00d7ed43aba11 /cgen.c
parentd5e0c67e29e7da0e393a9e0d50cfa36f9829165d (diff)
fixed struct #ifs
Diffstat (limited to 'cgen.c')
-rw-r--r--cgen.c5
1 files changed, 3 insertions, 2 deletions
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) {