summaryrefslogtreecommitdiff
path: root/cgen.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2019-10-23 14:50:28 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2019-10-23 14:50:28 -0400
commite540f6475c1306370c5faf15fc3a0c1e46ba3caf (patch)
treed278d93f44c3fb01d4abf70873356a618d3ae7f6 /cgen.c
parentf97d401c3bade9f053055f411be25ef6d6b8041b (diff)
started writing bf interpreter; found a few bugs
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, "(");