summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/warning.pm112
-rw-r--r--warning.h56
-rw-r--r--warning.pl5
3 files changed, 86 insertions, 87 deletions
diff --git a/lib/warning.pm b/lib/warning.pm
index c81e644410..f2fa38d288 100644
--- a/lib/warning.pm
+++ b/lib/warning.pm
@@ -45,70 +45,70 @@ use Carp ;
%Bits = (
'all' => "\x55\x55\x55\x55\x55\x55\x55\x55", # [0..31]
- 'ambiguous' => "\x00\x00\x00\x00\x10\x00\x00\x00", # [18]
- 'closed' => "\x00\x00\x00\x00\x00\x40\x00\x00", # [23]
- 'closure' => "\x00\x04\x00\x00\x00\x00\x00\x00", # [5]
- 'default' => "\x00\x00\x10\x00\x00\x00\x00\x00", # [10]
+ 'ambiguous' => "\x00\x00\x00\x04\x00\x00\x00\x00", # [13]
+ 'closed' => "\x10\x00\x00\x00\x00\x00\x00\x00", # [2]
+ 'closure' => "\x00\x00\x00\x00\x00\x40\x00\x00", # [23]
+ 'default' => "\x01\x00\x00\x00\x00\x00\x00\x00", # [0]
'deprecated' => "\x00\x00\x00\x10\x00\x00\x00\x00", # [14]
- 'exec' => "\x00\x00\x00\x00\x00\x00\x01\x00", # [24]
- 'io' => "\x00\x00\x00\x00\x00\x54\x15\x00", # [21..26]
- 'misc' => "\x00\x00\x00\x00\x00\x00\x00\x04", # [29]
- 'newline' => "\x00\x00\x00\x00\x00\x10\x00\x00", # [22]
- 'numeric' => "\x00\x00\x04\x00\x00\x00\x00\x00", # [9]
- 'octal' => "\x00\x00\x00\x00\x04\x00\x00\x00", # [17]
- 'once' => "\x00\x00\x40\x00\x00\x00\x00\x00", # [11]
- 'parenthesis' => "\x00\x00\x00\x00\x40\x00\x00\x00", # [19]
- 'pipe' => "\x00\x00\x00\x00\x00\x00\x10\x00", # [26]
- 'precedence' => "\x00\x00\x00\x00\x00\x01\x00\x00", # [20]
- 'printf' => "\x00\x00\x00\x00\x01\x00\x00\x00", # [16]
- 'recursion' => "\x00\x00\x00\x00\x00\x00\x00\x01", # [28]
- 'redefine' => "\x01\x00\x00\x00\x00\x00\x00\x00", # [0]
- 'reserved' => "\x00\x00\x00\x04\x00\x00\x00\x00", # [13]
- 'semicolon' => "\x00\x00\x00\x40\x00\x00\x00\x00", # [15]
- 'signal' => "\x00\x40\x00\x00\x00\x00\x00\x00", # [7]
- 'substr' => "\x00\x01\x00\x00\x00\x00\x00\x00", # [4]
+ 'exec' => "\x40\x00\x00\x00\x00\x00\x00\x00", # [3]
+ 'io' => "\x54\x15\x00\x00\x00\x00\x00\x00", # [1..6]
+ 'misc' => "\x00\x40\x00\x00\x00\x00\x00\x00", # [7]
+ 'newline' => "\x00\x01\x00\x00\x00\x00\x00\x00", # [4]
+ 'numeric' => "\x00\x00\x01\x00\x00\x00\x00\x00", # [8]
+ 'octal' => "\x00\x00\x00\x40\x00\x00\x00\x00", # [15]
+ 'once' => "\x00\x00\x04\x00\x00\x00\x00\x00", # [9]
+ 'parenthesis' => "\x00\x00\x00\x00\x01\x00\x00\x00", # [16]
+ 'pipe' => "\x00\x04\x00\x00\x00\x00\x00\x00", # [5]
+ 'precedence' => "\x00\x00\x00\x00\x04\x00\x00\x00", # [17]
+ 'printf' => "\x00\x00\x00\x00\x10\x00\x00\x00", # [18]
+ 'recursion' => "\x00\x00\x10\x00\x00\x00\x00\x00", # [10]
+ 'redefine' => "\x00\x00\x40\x00\x00\x00\x00\x00", # [11]
+ 'reserved' => "\x00\x00\x00\x00\x40\x00\x00\x00", # [19]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x01\x00\x00", # [20]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x01\x00", # [24]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x04\x00", # [25]
'syntax' => "\x00\x00\x00\x55\x55\x01\x00\x00", # [12..20]
- 'taint' => "\x40\x00\x00\x00\x00\x00\x00\x00", # [3]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x40\x00", # [27]
- 'unopened' => "\x00\x00\x00\x00\x00\x00\x04\x00", # [25]
- 'unsafe' => "\x50\x55\x01\x00\x00\x00\x00\x00", # [2..8]
- 'untie' => "\x00\x10\x00\x00\x00\x00\x00\x00", # [6]
- 'utf8' => "\x00\x00\x01\x00\x00\x00\x00\x00", # [8]
- 'void' => "\x04\x00\x00\x00\x00\x00\x00\x00", # [1]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x10\x00", # [26]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x04\x00\x00", # [21]
+ 'unopened' => "\x00\x10\x00\x00\x00\x00\x00\x00", # [6]
+ 'unsafe' => "\x00\x00\x00\x00\x00\x50\x55\x01", # [22..28]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x40\x00", # [27]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x01", # [28]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x04", # [29]
);
%DeadBits = (
'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..31]
- 'ambiguous' => "\x00\x00\x00\x00\x20\x00\x00\x00", # [18]
- 'closed' => "\x00\x00\x00\x00\x00\x80\x00\x00", # [23]
- 'closure' => "\x00\x08\x00\x00\x00\x00\x00\x00", # [5]
- 'default' => "\x00\x00\x20\x00\x00\x00\x00\x00", # [10]
+ 'ambiguous' => "\x00\x00\x00\x08\x00\x00\x00\x00", # [13]
+ 'closed' => "\x20\x00\x00\x00\x00\x00\x00\x00", # [2]
+ 'closure' => "\x00\x00\x00\x00\x00\x80\x00\x00", # [23]
+ 'default' => "\x02\x00\x00\x00\x00\x00\x00\x00", # [0]
'deprecated' => "\x00\x00\x00\x20\x00\x00\x00\x00", # [14]
- 'exec' => "\x00\x00\x00\x00\x00\x00\x02\x00", # [24]
- 'io' => "\x00\x00\x00\x00\x00\xa8\x2a\x00", # [21..26]
- 'misc' => "\x00\x00\x00\x00\x00\x00\x00\x08", # [29]
- 'newline' => "\x00\x00\x00\x00\x00\x20\x00\x00", # [22]
- 'numeric' => "\x00\x00\x08\x00\x00\x00\x00\x00", # [9]
- 'octal' => "\x00\x00\x00\x00\x08\x00\x00\x00", # [17]
- 'once' => "\x00\x00\x80\x00\x00\x00\x00\x00", # [11]
- 'parenthesis' => "\x00\x00\x00\x00\x80\x00\x00\x00", # [19]
- 'pipe' => "\x00\x00\x00\x00\x00\x00\x20\x00", # [26]
- 'precedence' => "\x00\x00\x00\x00\x00\x02\x00\x00", # [20]
- 'printf' => "\x00\x00\x00\x00\x02\x00\x00\x00", # [16]
- 'recursion' => "\x00\x00\x00\x00\x00\x00\x00\x02", # [28]
- 'redefine' => "\x02\x00\x00\x00\x00\x00\x00\x00", # [0]
- 'reserved' => "\x00\x00\x00\x08\x00\x00\x00\x00", # [13]
- 'semicolon' => "\x00\x00\x00\x80\x00\x00\x00\x00", # [15]
- 'signal' => "\x00\x80\x00\x00\x00\x00\x00\x00", # [7]
- 'substr' => "\x00\x02\x00\x00\x00\x00\x00\x00", # [4]
+ 'exec' => "\x80\x00\x00\x00\x00\x00\x00\x00", # [3]
+ 'io' => "\xa8\x2a\x00\x00\x00\x00\x00\x00", # [1..6]
+ 'misc' => "\x00\x80\x00\x00\x00\x00\x00\x00", # [7]
+ 'newline' => "\x00\x02\x00\x00\x00\x00\x00\x00", # [4]
+ 'numeric' => "\x00\x00\x02\x00\x00\x00\x00\x00", # [8]
+ 'octal' => "\x00\x00\x00\x80\x00\x00\x00\x00", # [15]
+ 'once' => "\x00\x00\x08\x00\x00\x00\x00\x00", # [9]
+ 'parenthesis' => "\x00\x00\x00\x00\x02\x00\x00\x00", # [16]
+ 'pipe' => "\x00\x08\x00\x00\x00\x00\x00\x00", # [5]
+ 'precedence' => "\x00\x00\x00\x00\x08\x00\x00\x00", # [17]
+ 'printf' => "\x00\x00\x00\x00\x20\x00\x00\x00", # [18]
+ 'recursion' => "\x00\x00\x20\x00\x00\x00\x00\x00", # [10]
+ 'redefine' => "\x00\x00\x80\x00\x00\x00\x00\x00", # [11]
+ 'reserved' => "\x00\x00\x00\x00\x80\x00\x00\x00", # [19]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x02\x00\x00", # [20]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x02\x00", # [24]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x08\x00", # [25]
'syntax' => "\x00\x00\x00\xaa\xaa\x02\x00\x00", # [12..20]
- 'taint' => "\x80\x00\x00\x00\x00\x00\x00\x00", # [3]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x80\x00", # [27]
- 'unopened' => "\x00\x00\x00\x00\x00\x00\x08\x00", # [25]
- 'unsafe' => "\xa0\xaa\x02\x00\x00\x00\x00\x00", # [2..8]
- 'untie' => "\x00\x20\x00\x00\x00\x00\x00\x00", # [6]
- 'utf8' => "\x00\x00\x02\x00\x00\x00\x00\x00", # [8]
- 'void' => "\x08\x00\x00\x00\x00\x00\x00\x00", # [1]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x20\x00", # [26]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x08\x00\x00", # [21]
+ 'unopened' => "\x00\x20\x00\x00\x00\x00\x00\x00", # [6]
+ 'unsafe' => "\x00\x00\x00\x00\x00\xa0\xaa\x02", # [22..28]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x80\x00", # [27]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x02", # [28]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x08", # [29]
);
diff --git a/warning.h b/warning.h
index 3220bde608..dde254d942 100644
--- a/warning.h
+++ b/warning.h
@@ -61,36 +61,36 @@
#define WARN_NONE NULL
#define WARN_ALL (&PL_sv_yes)
-#define WARN_REDEFINE 0
-#define WARN_VOID 1
-#define WARN_UNSAFE 2
-#define WARN_TAINT 3
-#define WARN_SUBSTR 4
-#define WARN_CLOSURE 5
-#define WARN_UNTIE 6
-#define WARN_SIGNAL 7
-#define WARN_UTF8 8
-#define WARN_NUMERIC 9
-#define WARN_DEFAULT 10
-#define WARN_ONCE 11
+#define WARN_DEFAULT 0
+#define WARN_IO 1
+#define WARN_CLOSED 2
+#define WARN_EXEC 3
+#define WARN_NEWLINE 4
+#define WARN_PIPE 5
+#define WARN_UNOPENED 6
+#define WARN_MISC 7
+#define WARN_NUMERIC 8
+#define WARN_ONCE 9
+#define WARN_RECURSION 10
+#define WARN_REDEFINE 11
#define WARN_SYNTAX 12
-#define WARN_RESERVED 13
+#define WARN_AMBIGUOUS 13
#define WARN_DEPRECATED 14
-#define WARN_SEMICOLON 15
-#define WARN_PRINTF 16
-#define WARN_OCTAL 17
-#define WARN_AMBIGUOUS 18
-#define WARN_PARENTHESIS 19
-#define WARN_PRECEDENCE 20
-#define WARN_IO 21
-#define WARN_NEWLINE 22
-#define WARN_CLOSED 23
-#define WARN_EXEC 24
-#define WARN_UNOPENED 25
-#define WARN_PIPE 26
-#define WARN_UNINITIALIZED 27
-#define WARN_RECURSION 28
-#define WARN_MISC 29
+#define WARN_OCTAL 15
+#define WARN_PARENTHESIS 16
+#define WARN_PRECEDENCE 17
+#define WARN_PRINTF 18
+#define WARN_RESERVED 19
+#define WARN_SEMICOLON 20
+#define WARN_UNINITIALIZED 21
+#define WARN_UNSAFE 22
+#define WARN_CLOSURE 23
+#define WARN_SIGNAL 24
+#define WARN_SUBSTR 25
+#define WARN_TAINT 26
+#define WARN_UNTIE 27
+#define WARN_UTF8 28
+#define WARN_VOID 29
#define WARNsize 8
#define WARN_ALLstring "\125\125\125\125\125\125\125\125"
diff --git a/warning.pl b/warning.pl
index 59dac2fcdd..86faf9625c 100644
--- a/warning.pl
+++ b/warning.pl
@@ -59,8 +59,8 @@ sub walk
my @list = () ;
my ($k, $v) ;
- while (($k, $v) = each %$tre) {
-
+ foreach $k (sort keys %$tre) {
+ $v = $tre->{$k};
die "duplicate key $k\n" if defined $list{$k} ;
$Value{$index} = uc $k ;
push @{ $list{$k} }, $index ++ ;
@@ -70,7 +70,6 @@ sub walk
}
return @list ;
-
}
###########################################################################