Change 32762 by [EMAIL PROTECTED] on 2007/12/29 13:29:37

        die if multiple macros in regexp.h attempt to use the same flag bit.

Affected files ...

... //depot/perl/regcomp.pl#22 edit

Differences ...

==== //depot/perl/regcomp.pl#22 (text) ====
Index: perl/regcomp.pl
--- perl/regcomp.pl#21~31506~   2007-06-30 08:37:41.000000000 -0700
+++ perl/regcomp.pl     2007-12-29 05:29:37.000000000 -0800
@@ -197,11 +197,17 @@
 
 open my $fh,"<","regexp.h" or die "Can't read regexp.h: $!";
 my %rxfv;
-my $val;
+my $val = 0;
+my %reverse;
 while (<$fh>) {
     if (/#define\s+(RXf_\w+)\s+(0x[A-F\d]+)/i) {
-        $rxfv{$1}= eval $2;
-        $val|=$rxfv{$1};
+       my $newval = eval $2;
+       if($val & $newval) {
+           die sprintf "Both $1 and $reverse{$newval} use %08X", $newval;
+       }
+        $val|=$newval;
+        $rxfv{$1}= $newval;
+       $reverse{$newval} = $1;
     }
 }    
 my %vrxf=reverse %rxfv;
End of Patch.

Reply via email to