Remove redundant op_lvalue calls in perly.y blead
authorFather Chrysostomos <sprout@cpan.org>
Sat, 25 Oct 2014 04:38:01 +0000 (21:38 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 25 Oct 2014 04:46:13 +0000 (21:46 -0700)
commit96801525df66a32483d0872bdbfffea111d7add5
tree7d18d6a8e4bc6ce182cd952041b1fb53f252a054
parentd40610d16eaa2c4551c2284e77d67581fc9ac258
Remove redundant op_lvalue calls in perly.y

When (\$x)=\$y is compiled, the \ on the lhs gives lvalue context to
its argument by calling op_lvalue.  Then later the = gives lvalue con-
text to the \, calling op_lvalue again, which transforms the $x into
an lvref op (via op.c:S_lvref).

I just copied that logic when I extended aliasing via reference to
foreach \$x.  But here, we don’t need to call op_lvalue on the $x,
because we know it is going to go through op.c:S_lvref, which doesn’t
care whether it has been through op_lvalue already or not.  The end
result is the same.
perly.act
perly.h
perly.tab
perly.y