This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Patch from Hugo for the 'printf' problem:
[perl5.git] / opcode.h
index e706dff..8556e1e 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -1,7 +1,15 @@
-/* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-   This file is built by opcode.pl from its data.  Any changes made here
-   will be lost!
-*/
+/*
+ *    opcode.h
+ *
+ *    Copyright (c) 1997-2002, Larry Wall
+ *
+ *    You may distribute under the terms of either the GNU General Public
+ *    License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ *  This file is built by opcode.pl from its data.  Any changes made here
+ *  will be lost!
+ */
 
 #define Perl_pp_i_preinc Perl_pp_preinc
 #define Perl_pp_i_predec Perl_pp_predec
 
 START_EXTERN_C
 
+
+#define OP_NAME(o) (o->op_type == OP_CUSTOM ? custom_op_name(o) : \
+                    PL_op_name[o->op_type])
+#define OP_DESC(o) (o->op_type == OP_CUSTOM ? custom_op_desc(o) : \
+                    PL_op_desc[o->op_type])
+
 #ifndef DOINIT
 EXT char *PL_op_name[];
 #else
@@ -366,6 +380,7 @@ EXT char *PL_op_name[] = {
        "threadsv",
        "setstate",
        "method_named",
+       "custom",
 };
 #endif
 
@@ -724,6 +739,7 @@ EXT char *PL_op_desc[] = {
        "per-thread value",
        "set statement info",
        "method with known name",
+       "unknown custom operator",
 };
 #endif
 
@@ -1265,7 +1281,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
        MEMBER_TO_FPTR(Perl_ck_null),   /* leavesublv */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* caller */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* warn */
-       MEMBER_TO_FPTR(Perl_ck_fun),    /* die */
+       MEMBER_TO_FPTR(Perl_ck_die),    /* die */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* reset */
        MEMBER_TO_FPTR(Perl_ck_null),   /* lineseq */
        MEMBER_TO_FPTR(Perl_ck_null),   /* nextstate */
@@ -1445,6 +1461,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
        MEMBER_TO_FPTR(Perl_ck_null),   /* threadsv */
        MEMBER_TO_FPTR(Perl_ck_null),   /* setstate */
        MEMBER_TO_FPTR(Perl_ck_null),   /* method_named */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* custom */
 };
 #endif
 
@@ -1478,8 +1495,8 @@ EXT U32 PL_opargs[] = {
        0x00122804,     /* bless */
        0x00001608,     /* backtick */
        0x00012808,     /* glob */
-       0x00001608,     /* readline */
-       0x00001608,     /* rcatline */
+       0x0001d608,     /* readline */
+       0x00000c08,     /* rcatline */
        0x00002204,     /* regcmaybe */
        0x00002204,     /* regcreset */
        0x00002604,     /* regcomp */
@@ -1803,6 +1820,7 @@ EXT U32 PL_opargs[] = {
        0x00000044,     /* threadsv */
        0x00001404,     /* setstate */
        0x00000c40,     /* method_named */
+       0x00000000,     /* custom */
 };
 #endif