aboutsummaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap')
-rw-r--r--bootstrap/parse.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/bootstrap/parse.c b/bootstrap/parse.c
index 631d007..93a3afb 100644
--- a/bootstrap/parse.c
+++ b/bootstrap/parse.c
@@ -1906,8 +1906,10 @@ pstfor(struct parser *P, const char *label) {
}
WITH_TMPCHANGE(int, P->curloop, st.loop.id)
st.loop.body = parseblock(P).block;
- if (label)
+ if (label) {
+ free(env.decls);
popenv(P);
+ }
return st;
}
@@ -2207,8 +2209,10 @@ parsestmt(stmt_yielder_t yield, void *yarg, struct parser *P) {
}
WITH_TMPCHANGE(int, P->curloop, st.loop.id)
st.loop.body = parseblock(P).block;
- if (label)
+ if (label) {
+ free(env.decls);
popenv(P);
+ }
} else if (lexmatch(P, &tok, TKkw_for)) {
forl:
st.span = tok.span;