mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 21:49:06 +02:00
* 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
This commit is contained in:
parent
600601c338
commit
fa9d53d00f
3 changed files with 2 additions and 45 deletions
14
compile.c
14
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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue