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 542ec60..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
 
@@ -1178,13 +1194,13 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
        MEMBER_TO_FPTR(Perl_ck_null),   /* i_ne */
        MEMBER_TO_FPTR(Perl_ck_null),   /* ncmp */
        MEMBER_TO_FPTR(Perl_ck_null),   /* i_ncmp */
-       MEMBER_TO_FPTR(Perl_ck_scmp),   /* slt */
-       MEMBER_TO_FPTR(Perl_ck_scmp),   /* sgt */
-       MEMBER_TO_FPTR(Perl_ck_scmp),   /* sle */
-       MEMBER_TO_FPTR(Perl_ck_scmp),   /* sge */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* slt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sgt */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sle */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* sge */
        MEMBER_TO_FPTR(Perl_ck_null),   /* seq */
        MEMBER_TO_FPTR(Perl_ck_null),   /* sne */
-       MEMBER_TO_FPTR(Perl_ck_scmp),   /* scmp */
+       MEMBER_TO_FPTR(Perl_ck_null),   /* scmp */
        MEMBER_TO_FPTR(Perl_ck_bitop),  /* bit_and */
        MEMBER_TO_FPTR(Perl_ck_bitop),  /* bit_xor */
        MEMBER_TO_FPTR(Perl_ck_bitop),  /* bit_or */
@@ -1209,15 +1225,15 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
        MEMBER_TO_FPTR(Perl_ck_fun),    /* vec */
        MEMBER_TO_FPTR(Perl_ck_index),  /* index */
        MEMBER_TO_FPTR(Perl_ck_index),  /* rindex */
-       MEMBER_TO_FPTR(Perl_ck_fun_locale),     /* sprintf */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* sprintf */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* formline */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* ord */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* chr */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* crypt */
-       MEMBER_TO_FPTR(Perl_ck_fun_locale),     /* ucfirst */
-       MEMBER_TO_FPTR(Perl_ck_fun_locale),     /* lcfirst */
-       MEMBER_TO_FPTR(Perl_ck_fun_locale),     /* uc */
-       MEMBER_TO_FPTR(Perl_ck_fun_locale),     /* lc */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* ucfirst */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* lcfirst */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* uc */
+       MEMBER_TO_FPTR(Perl_ck_fun),    /* lc */
        MEMBER_TO_FPTR(Perl_ck_fun),    /* quotemeta */
        MEMBER_TO_FPTR(Perl_ck_rvconst),        /* rv2av */
        MEMBER_TO_FPTR(Perl_ck_null),   /* aelemfast */
@@ -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 */
@@ -1643,7 +1660,7 @@ EXT U32 PL_opargs[] = {
        0x00001a44,     /* dump */
        0x00001a44,     /* goto */
        0x00013644,     /* exit */
-       0x0052c81c,     /* open */
+       0x0052c81d,     /* open */
        0x0001d614,     /* close */
        0x000cc814,     /* pipe_op */
        0x0000d61c,     /* fileno */
@@ -1803,6 +1820,7 @@ EXT U32 PL_opargs[] = {
        0x00000044,     /* threadsv */
        0x00001404,     /* setstate */
        0x00000c40,     /* method_named */
+       0x00000000,     /* custom */
 };
 #endif