This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
avoid copying the while ebcidic mapping to the stack calling get_a2n()
[perl5.git] / regen / opcode.pl
index d8186cd..a081c64 100755 (executable)
@@ -44,8 +44,10 @@ while (<OPS>) {
     $args = '' unless defined $args;
 
     warn qq[Description "$desc" duplicates $seen{$desc}\n]
-     if $seen{$desc} and $key ne "transr";
+     if $seen{$desc} and $key !~ "transr|(?:intro|clone)cv";
     die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key};
+    die qq[Opcode "freed" is reserved for the slab allocator\n]
+       if $key eq 'freed';
     $seen{$desc} = qq[description of opcode "$key"];
     $seen{$key} = qq[opcode "$key"];
 
@@ -189,6 +191,7 @@ for (@ops) {
 print $on "\t", tab(3,"OP_max"), "\n";
 print $on "} opcode;\n";
 print $on "\n#define MAXO ", scalar @ops, "\n";
+print $on "#define OP_FREED MAXO\n";
 
 # Emit op names and descriptions.
 
@@ -206,6 +209,7 @@ for (@ops) {
 }
 
 print $oc <<'END';
+       "freed",
 };
 #endif
 
@@ -225,6 +229,7 @@ for (@ops) {
 }
 
 print $oc <<'END';
+       "freed op",
 };
 #endif