summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-06-10 00:03:08 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-06-10 00:03:54 +0900
commit6c524af646bdf6b2c4441653e0eef4f41b02c798 (patch)
treeb88a2a9850333da3e3337095439401b458f85854 /src
parent4c69a9d09e687cac6e1b0e4b1e2fbde6f1910df5 (diff)
downloadmruby-6c524af646bdf6b2c4441653e0eef4f41b02c798.tar.gz
mruby-6c524af646bdf6b2c4441653e0eef4f41b02c798.zip
NODE_FOR does not introduce new local variables
Diffstat (limited to 'src')
-rw-r--r--src/codegen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/codegen.c b/src/codegen.c
index 79ba9e8c9..7d1751f6a 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -549,7 +549,7 @@ for_body(codegen_scope *s, node *tree)
/* generate receiver */
codegen(s, tree->cdr->car, VAL);
/* generate loop-block */
- s = scope_new(s->mrb, s, tree->car);
+ s = scope_new(s->mrb, s, NULL);
lp = loop_push(s, LOOP_FOR);
lp->pc1 = new_label(s);
@@ -2651,7 +2651,7 @@ print_r(mrb_state *mrb, mrb_irep *irep, size_t n, int pre)
if (n == 0) return 0;
- for (i=0; i<irep->nlocals; i++) {
+ for (i=0; i+1<irep->nlocals; i++) {
if (irep->lv[i].r == n) {
mrb_sym sym = irep->lv[i].name;
if (pre) printf(" ");