summaryrefslogtreecommitdiff
path: root/sdecls_cgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'sdecls_cgen.c')
-rw-r--r--sdecls_cgen.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sdecls_cgen.c b/sdecls_cgen.c
index b2f3900..83c978e 100644
--- a/sdecls_cgen.c
+++ b/sdecls_cgen.c
@@ -37,11 +37,15 @@ static bool cgen_sdecls_type(CGenerator *g, Type *type) {
}
static bool cgen_sdecls_block(CGenerator *g, Block *b) {
+ Block *prev_block = g->block;
+ g->block = b;
+
arr_foreach(b->stmts, Statement, s)
if (!cgen_sdecls_stmt(g, s))
return false;
if (b->ret_expr && !cgen_sdecls_expr(g, b->ret_expr))
return false;
+ g->block = prev_block;
return true;
}