Merge remote-tracking branch 'upstream/master' into mrbgems

This commit is contained in:
Daniel Bovensiepen
2012-11-23 22:50:38 +08:00
2 changed files with 30 additions and 2 deletions
+1 -1
View File
@@ -1501,7 +1501,7 @@ codegen(codegen_scope *s, node *tree, int val)
case NODE_RETURN:
codegen(s, tree, VAL);
pop();
if (s->loop && s->loop->type != LOOP_NORMAL) {
if (s->loop) {
genop(s, MKOP_AB(OP_RETURN, cursp(), OP_R_RETURN));
}
else {
+29 -1
View File
@@ -389,7 +389,7 @@ assert('BS Block [ruby-core:14395]') do
t.test_for_bug
end
assert("BS Block 32") do
assert("BS Block 33") do
module TestReturnFromNestedBlock
def self.test
1.times do
@@ -402,3 +402,31 @@ assert("BS Block 32") do
end
TestReturnFromNestedBlock.test == :ok
end
assert("BS Block 34") do
module TestReturnFromNestedBlock_BSBlock34
def self.test
1.times do
while true
return :ok
end
end
:bad
end
end
TestReturnFromNestedBlock_BSBlock34.test == :ok
end
assert("BS Block 35") do
module TestReturnFromNestedBlock_BSBlock35
def self.test
1.times do
until false
return :ok
end
end
:bad
end
end
TestReturnFromNestedBlock_BSBlock35.test == :ok
end