summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keywords.c2
-rw-r--r--keywords.h2
-rw-r--r--op.c13
-rwxr-xr-xregen/keywords.pl4
4 files changed, 9 insertions, 12 deletions
diff --git a/keywords.c b/keywords.c
index d442b325e8..b9ef465967 100644
--- a/keywords.c
+++ b/keywords.c
@@ -3399,5 +3399,5 @@ unknown:
}
/* Generated from:
- * 34be1269b3c67c86c758c60794ddba6eadc528e0435f954d514c14a2f1c73a2e regen/keywords.pl
+ * 6563b55da87af894b79ef9d777217633eee6c7b5f352ff4c17317f562247f5fc regen/keywords.pl
* ex: set ro: */
diff --git a/keywords.h b/keywords.h
index 4631b671e0..83ad0efb56 100644
--- a/keywords.h
+++ b/keywords.h
@@ -268,5 +268,5 @@
#define KEY_y 252
/* Generated from:
- * 34be1269b3c67c86c758c60794ddba6eadc528e0435f954d514c14a2f1c73a2e regen/keywords.pl
+ * 6563b55da87af894b79ef9d777217633eee6c7b5f352ff4c17317f562247f5fc regen/keywords.pl
* ex: set ro: */
diff --git a/op.c b/op.c
index 74d27dd4f4..1ca495c749 100644
--- a/op.c
+++ b/op.c
@@ -10336,20 +10336,13 @@ Perl_coresub_op(pTHX_ SV * const coreargssv, const int code,
switch(opnum) {
case 0:
- {
- IV index = 0;
- switch(-code) {
- case KEY___FILE__ : index = 1; break;
- case KEY___LINE__ : index = 2; break;
- }
- return op_append_elem(OP_LINESEQ,
+ return op_append_elem(OP_LINESEQ,
argop,
newSLICEOP(0,
- newSVOP(OP_CONST, 0, newSViv(index)),
+ newSVOP(OP_CONST, 0, newSViv(-code % 3)),
newOP(OP_CALLER,0)
)
- );
- }
+ );
default:
switch (PL_opargs[opnum] & OA_CLASS_MASK) {
case OA_BASEOP:
diff --git a/regen/keywords.pl b/regen/keywords.pl
index b2860504d5..5f7f1ef851 100755
--- a/regen/keywords.pl
+++ b/regen/keywords.pl
@@ -101,6 +101,10 @@ END
read_only_bottom_close_and_rename($_, [$0]) foreach $c, $h;
+
+# coresub_op in op.c expects __FILE__, __LINE__ and __PACKAGE__ to be the
+# first three.
+
__END__
NULL