summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2012-10-31 12:27:18 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2012-10-31 12:27:18 -0700
commit604e39bdfbc97666671c2b638c1cd2cdc068be3e (patch)
treec14e360889b65bee703055e14799eef1a2ae2d2b
parentc812c5c815153dc7a5028304f672ad373085edf2 (diff)
parent35699424a9e2d286fcbf3ac040f4e2a2b1027f0b (diff)
downloadmruby-604e39bdfbc97666671c2b638c1cd2cdc068be3e.tar.gz
mruby-604e39bdfbc97666671c2b638c1cd2cdc068be3e.zip
Merge pull request #521 from iij/pr-fix-broken-variable-ref-next-statement
fix: broken variable reference, use 'next' statement
-rw-r--r--src/codegen.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/codegen.c b/src/codegen.c
index ebc9b32de..ca2269d85 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -1556,8 +1556,10 @@ codegen(codegen_scope *s, node *tree, int val)
genop(s, MKOP_sBx(OP_JMP, s->loop->pc1 - s->pc));
}
else {
- codegen(s, tree, VAL);
- pop();
+ if (tree) {
+ codegen(s, tree, VAL);
+ pop();
+ }
genop_peep(s, MKOP_AB(OP_RETURN, cursp(), OP_R_NORMAL), NOVAL);
}
if (val) push();