summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/codegen.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-07-12 14:56:48 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-07-12 14:56:48 +0900
commit7fa9321c18b3f0525ba8c75b02768ec27f534efc (patch)
treeb6bbead8493229263a34d0f154c55993a087fe1c /mrbgems/mruby-compiler/core/codegen.c
parente5fbe350b306d9473db2a36780cfe2cac72e0c31 (diff)
downloadmruby-7fa9321c18b3f0525ba8c75b02768ec27f534efc.tar.gz
mruby-7fa9321c18b3f0525ba8c75b02768ec27f534efc.zip
`while`|`until` should have the value from `break`; fix #3735
Diffstat (limited to 'mrbgems/mruby-compiler/core/codegen.c')
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index 3094ead69..a1045c38c 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -2980,10 +2980,10 @@ loop_break(codegen_scope *s, node *tree)
static void
loop_pop(codegen_scope *s, int val)
{
- dispatch_linked(s, s->loop->pc3);
if (val) {
genop(s, MKOP_A(OP_LOADNIL, cursp()));
}
+ dispatch_linked(s, s->loop->pc3);
s->loop = s->loop->prev;
if (val) push();
}