summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-07-05 20:00:10 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-07-05 20:00:10 +0000
commitf17e6c41cacfbc6fe88a5ea5e01ba690dfdc7f2e (patch)
tree90e0e01e43cbcda7781b15d8a1f04ca5f5ea9ec2 /op.c
parentfba16c4d09cfcc4722bb692c88c7da4ddeabb5ac (diff)
downloadperl-f17e6c41cacfbc6fe88a5ea5e01ba690dfdc7f2e.tar.gz
Fix a bug on setting OPpASSIGN_COMMON on a AASSIGN op when the left
side is made out a list declared with our(). In this case OPpLVAL_INTRO isn't set on the left op, so we just remove that check. Add new tests. p4raw-id: //depot/perl@28488
Diffstat (limited to 'op.c')
-rw-r--r--op.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/op.c b/op.c
index d2c68354b7..dd7a5f2dea 100644
--- a/op.c
+++ b/op.c
@@ -3783,7 +3783,6 @@ Perl_newASSIGNOP(pTHX_ I32 flags, OP *left, I32 optype, OP *right)
* to store these values, evil chicanery is done with SvCUR().
*/
- if (!(left->op_private & OPpLVAL_INTRO)) {
OP *lastop = o;
PL_generation++;
for (curop = LINKLIST(o); curop != o; curop = LINKLIST(curop)) {
@@ -3837,7 +3836,6 @@ Perl_newASSIGNOP(pTHX_ I32 flags, OP *left, I32 optype, OP *right)
}
if (curop != o)
o->op_private |= OPpASSIGN_COMMON;
- }
if (right && right->op_type == OP_SPLIT) {
OP* tmpop = ((LISTOP*)right)->op_first;
if (tmpop && (tmpop->op_type == OP_PUSHRE)) {