This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
OP_SASSIGN: make op_first==op_last for UNOP
authorDavid Mitchell <davem@iabyn.com>
Thu, 29 Sep 2016 15:03:05 +0000 (16:03 +0100)
committerDavid Mitchell <davem@iabyn.com>
Thu, 29 Sep 2016 16:26:44 +0000 (17:26 +0100)
commit35a2929bb8afc786379fa44c650f7c35377c74f7
treee36c10831ddf316a93e502294ab03f1aa47399f5
parent354eabfa08c1e2f5d83c116c6f072a4e1f3a62ff
OP_SASSIGN: make op_first==op_last for UNOP

Occasionally (e.g. $x ||= 1) an OP_SASSIGN operator only has a single
arg. The previous two commits made OP_SASSIGN always be allocated as a
BINOP, and if necessary, set op_last to NULL when there's only s single
arg.

This commit instead sets op_last equal to op_first for this case (similar
to how a LISTOP with a single arg is handled). This removes the need for
special handling in S_finalize_op().
op.c