aboutsummaryrefslogtreecommitdiffstats
path: root/compile.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-05 10:52:08 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-05 10:52:08 +0000
commit50b50499210bb52d1bbae6b65009f058426d2d1a (patch)
tree86b752d2b0303812e435b9fd5cd47d5dc9b3dcf0 /compile.c
parent5274f892015b2a41dc64c63a4ce1c843f4fb0a66 (diff)
downloadruby-50b50499210bb52d1bbae6b65009f058426d2d1a.tar.gz
* compile.c (iseq_compile_each): drop unused ARGSCAT results.
fix [ruby-dev:41933], [Bug #3658] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/compile.c b/compile.c
index fbd8e7cfab..f838654cf4 100644
--- a/compile.c
+++ b/compile.c
@@ -4521,8 +4521,9 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
break;
}
case NODE_ARGSCAT:{
- COMPILE(ret, "argscat head", node->nd_head);
- COMPILE(ret, "argscat body", node->nd_body);
+ COMPILE_(ret, "argscat head", node->nd_head, poped);
+ COMPILE_(ret, "argscat body", node->nd_body, poped);
+ if (poped) break;
ADD_INSN(ret, nd_line(node), concatarray);
break;
}