New try at the Class::DBI core dump at global cleanup.
[p5sagit/p5-mst-13.2.git] / opcode.pl
index abfa256..6df2f8b 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -31,10 +31,18 @@ while (<DATA>) {
 
 $i = 0;
 print <<"END";
-/* !!!!!!!   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
@@ -44,10 +52,19 @@ print <<"END";
 END
 
 print ON <<"END";
-/* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-   This file is built by opcode.pl from its data.  Any changes made here
-   will be lost!
-*/
+/*
+ *    opnames.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!
+ */
 
 typedef enum opcode {
 END
@@ -264,6 +281,10 @@ close ON or die "Error closing opnames.h: $!";
 chmod 0600, 'opcode.h';  # required by dosish filesystems
 chmod 0600, 'opnames.h'; # required by dosish filesystems
 
+# Some dosish systems can't rename over an existing file:
+unlink         "$_-old"        for qw(opcode.h opnames.h);
+rename $_,     "$_-old"        for qw(opcode.h opnames.h);
+
 rename $opcode_new, 'opcode.h' or die "renaming opcode.h: $!\n";
 rename $opname_new, 'opnames.h' or die "renaming opnames.h: $!\n";
 
@@ -312,6 +333,10 @@ close PPSYM or die "Error closing pp.sym: $!";
 chmod 0600, 'pp_proto.h'; # required by dosish filesystems
 chmod 0600, 'pp.sym';     # required by dosish filesystems
 
+# Some dosish systems can't rename over an existing file:
+unlink         "$_-old"        for qw(pp_proto.h pp.sym);
+rename $_,     "$_-old"        for qw(pp_proto.h pp.sym);
+
 rename $pp_proto_new, 'pp_proto.h' or die "rename pp_proto.h: $!\n";
 rename $pp_sym_new, 'pp.sym' or die "rename pp.sym: $!\n";
 
@@ -381,7 +406,7 @@ sub tab {
 
 __END__
 
-# New ops always go at the very end
+# New ops always go at the end, just before 'custom'
 
 # A recapitulation of the format of this file:
 # The file consists of five columns: the name of the op, an English
@@ -652,7 +677,7 @@ leavesub    subroutine exit         ck_null         1
 leavesublv     lvalue subroutine return        ck_null         1       
 caller         caller                  ck_fun          t%      S?
 warn           warn                    ck_fun          imst@   L
-die            die                     ck_fun          dimst@  L
+die            die                     ck_die          dimst@  L
 reset          symbol reset            ck_fun          is%     S?
 
 lineseq                line sequence           ck_null         @       
@@ -899,4 +924,6 @@ threadsv    per-thread value        ck_null         ds0
 setstate       set statement info      ck_null         s;
 method_named   method with known name  ck_null         d$
 
+# Add new ops before this, the custom operator.
+
 custom         unknown custom operator         ck_null         0