diff options
Diffstat (limited to 'typedefs_cgen.c')
-rw-r--r-- | typedefs_cgen.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/typedefs_cgen.c b/typedefs_cgen.c index cfba024..3760eec 100644 --- a/typedefs_cgen.c +++ b/typedefs_cgen.c @@ -72,18 +72,20 @@ static bool typedefs_decl(CGenerator *g, Declaration *d) { cgen_write(g, ";"); } } else { - cgen_write(g, "typedef "); - if (!cgen_type_pre(g, val->type, d->where)) return false; - cgen_write(g, " "); - if (id) { - cgen_ident_id(g, id); - } else { - cgen_ident(g, i); - } - if (val->type->kind != TYPE_STRUCT) { - if (!cgen_type_post(g, val->type, d->where)) return false; + if (val->type->kind != TYPE_TYPE) { + cgen_write(g, "typedef "); + if (!cgen_type_pre(g, val->type, d->where)) return false; + cgen_write(g, " "); + if (id) { + cgen_ident_id(g, id); + } else { + cgen_ident(g, i); + } + if (val->type->kind != TYPE_STRUCT) { + if (!cgen_type_post(g, val->type, d->where)) return false; + } + cgen_write(g, ";"); } - cgen_write(g, ";"); } cgen_nl(g); } |