summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2015-01-05 21:41:26 -0800
committerFather Chrysostomos <sprout@cpan.org>2015-01-06 06:39:32 -0800
commit070d3cb6f06f7c7f0a932b57616cd28061cb96c0 (patch)
tree13f17a9a873b1ebf062605c5d27336931737be3d
parenta8c717cfeba2a8e3b9ad4886fdb19601d89d846c (diff)
downloadperl-070d3cb6f06f7c7f0a932b57616cd28061cb96c0.tar.gz
perly.y: Don’t call op_lvalue on refgen kid
ck_spair also applies lvalue context to the kid ops, so we just end up calling op_lvalue twice on the same ops. It’s harmless (being idempo- tent), but wasteful.
-rw-r--r--perly.act4
-rw-r--r--perly.h2
-rw-r--r--perly.tab2
-rw-r--r--perly.y2
4 files changed, 5 insertions, 5 deletions
diff --git a/perly.act b/perly.act
index f5a78f3573..638818e64f 100644
--- a/perly.act
+++ b/perly.act
@@ -1078,7 +1078,7 @@ case 2:
case 168:
#line 860 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN)); ;}
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[(2) - (2)].val.opval)); ;}
break;
case 169:
@@ -1502,6 +1502,6 @@ case 2:
/* Generated from:
- * 0c499ecc5892868c1d5acd74ecc34b917f3c7fc5aa57d93b01ecd12f4a0f7a8b perly.y
+ * 742ccd162893f72458d7102c054eda970bae7a1de1a02b75fb23afc88e332e7f perly.y
* d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index 370093ac66..8bd1f4b5dc 100644
--- a/perly.h
+++ b/perly.h
@@ -256,6 +256,6 @@ typedef union YYSTYPE
/* Generated from:
- * 0c499ecc5892868c1d5acd74ecc34b917f3c7fc5aa57d93b01ecd12f4a0f7a8b perly.y
+ * 742ccd162893f72458d7102c054eda970bae7a1de1a02b75fb23afc88e332e7f perly.y
* d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index 7a56380438..cab9b286a0 100644
--- a/perly.tab
+++ b/perly.tab
@@ -1140,6 +1140,6 @@ static const toketypes yy_type_tab[] =
};
/* Generated from:
- * 0c499ecc5892868c1d5acd74ecc34b917f3c7fc5aa57d93b01ecd12f4a0f7a8b perly.y
+ * 742ccd162893f72458d7102c054eda970bae7a1de1a02b75fb23afc88e332e7f perly.y
* d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index 99ee27b312..e575b70e02 100644
--- a/perly.y
+++ b/perly.y
@@ -857,7 +857,7 @@ term : termbinop
| term '?' term ':' term
{ $$ = newCONDOP(0, $1, $3, $5); }
| REFGEN term /* \$x, \@y, \%z */
- { $$ = newUNOP(OP_REFGEN, 0, op_lvalue($2,OP_REFGEN)); }
+ { $$ = newUNOP(OP_REFGEN, 0, $2); }
| myattrterm %prec UNIOP
{ $$ = $1; }
| LOCAL term %prec UNIOP