summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2016-09-27 10:31:48 +0900
committerGitHub <[email protected]>2016-09-27 10:31:48 +0900
commit9d3167cabe64b61ce707a00a3a3108b580cf5d11 (patch)
tree19542a571ae5a6a6c1340d884700a5f7bed5171a /mrbgems/mruby-compiler
parentafbe211c606a79ccc3395c51eb70dd9e8a46849f (diff)
parentb1fa180ea31d1d3030e088b873b248c1a39c22ac (diff)
downloadmruby-9d3167cabe64b61ce707a00a3a3108b580cf5d11.tar.gz
mruby-9d3167cabe64b61ce707a00a3a3108b580cf5d11.zip
Merge pull request #3217 from ksss/break
Fix unexpected behavior with break
Diffstat (limited to 'mrbgems/mruby-compiler')
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index 6e9c3c147..efdd77888 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -2852,6 +2852,9 @@ loop_break(codegen_scope *s, node *tree)
loop->pc3 = tmp;
}
else {
+ if (!tree) {
+ genop(s, MKOP_A(OP_LOADNIL, cursp()));
+ }
genop(s, MKOP_AB(OP_RETURN, cursp(), OP_R_BREAK));
}
}