summaryrefslogtreecommitdiff
path: root/typedefs_cgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'typedefs_cgen.c')
-rw-r--r--typedefs_cgen.c24
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);
}