summaryrefslogtreecommitdiff
path: root/cgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'cgen.c')
-rw-r--r--cgen.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cgen.c b/cgen.c
index 5f68221..b5b7ce8 100644
--- a/cgen.c
+++ b/cgen.c
@@ -868,14 +868,16 @@ static bool cgen_expr(CGenerator *g, Expression *e) {
}
} break;
case EXPR_IF:
- cgen_ident_id(g, e->if_.c.id);
+ if (e->type.kind != TYPE_VOID)
+ cgen_ident_id(g, e->if_.c.id);
break;
case EXPR_WHILE:
if (e->type.kind != TYPE_VOID)
cgen_ident_id(g, e->while_.c.id);
break;
case EXPR_BLOCK:
- cgen_ident_id(g, e->block_ret_id);
+ if (e->type.kind != TYPE_VOID)
+ cgen_ident_id(g, e->block_ret_id);
break;
case EXPR_CALL:
cgen_write(g, "(");