summaryrefslogtreecommitdiff
path: root/typedefs_cgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'typedefs_cgen.c')
-rw-r--r--typedefs_cgen.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/typedefs_cgen.c b/typedefs_cgen.c
index 49cd8ec..e882419 100644
--- a/typedefs_cgen.c
+++ b/typedefs_cgen.c
@@ -46,9 +46,12 @@ static bool typedefs_decl(CGenerator *g, Declaration *d) {
cgen_nl(g);
}
}
- if ((d->flags & DECL_HAS_EXPR) && !(d->flags & DECL_IS_CONST))
- if (!typedefs_expr(g, &d->expr))
- return false;
+ if (d->flags & DECL_HAS_EXPR) {
+ if (!(d->flags & DECL_IS_CONST) || d->expr.kind == EXPR_FN) {
+ if (!typedefs_expr(g, &d->expr))
+ return false;
+ }
+ }
return true;
}