summaryrefslogtreecommitdiff
path: root/compile.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-05 12:31:55 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-05 12:31:55 +0000
commitfa9d53d00faa6fb038f6e61570adb51b201276df (patch)
treeb63e1b51b4e1e8584d1d74f816712f293bf475a6 /compile.c
parent600601c338006d9701ce3a8ee9922cdc47d9fed8 (diff)
* compile.c (NODE_ARGSCAT, NODE_ARGSPUSH): revert r28870 and r28873
which involuntarily changed semantics of type conversion. I'll re-commit a correct patch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/compile.c b/compile.c
index 3ff91f5b51..fbd8e7cfab 100644
--- a/compile.c
+++ b/compile.c
@@ -4521,24 +4521,14 @@ 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, poped);
+ COMPILE(ret, "argscat head", node->nd_head);
COMPILE(ret, "argscat body", node->nd_body);
- if (poped) {
- ADD_INSN1(ret, nd_line(node), splatarray, Qfalse);
- ADD_INSN(ret, nd_line(node), pop);
- break;
- }
ADD_INSN(ret, nd_line(node), concatarray);
break;
}
case NODE_ARGSPUSH:{
- COMPILE_(ret, "arsgpush head", node->nd_head, poped);
+ COMPILE(ret, "arsgpush head", node->nd_head);
COMPILE(ret, "argspush body", node->nd_body);
- if (poped) {
- ADD_INSN1(ret, nd_line(node), splatarray, Qfalse);
- ADD_INSN(ret, nd_line(node), pop);
- break;
- }
ADD_INSN1(ret, nd_line(node), newarray, INT2FIX(1));
ADD_INSN(ret, nd_line(node), concatarray);
break;