diff options
Diffstat (limited to 'typedefs_cgen.c')
-rw-r--r-- | typedefs_cgen.c | 9 |
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; } |