source: trunk/third/perl/warnings.h @ 17035

Revision 17035, 3.4 KB checked in by zacheiss, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17034, which included commits to RCS files with non-trunk default branches.
Line 
1/* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
2   This file is built by warnings.pl
3   Any changes made here will be lost!
4*/
5
6
7#define Off(x)                  ((x) / 8)
8#define Bit(x)                  (1 << ((x) % 8))
9#define IsSet(a, x)             ((a)[Off(x)] & Bit(x))
10
11
12#define G_WARN_OFF              0       /* $^W == 0 */
13#define G_WARN_ON               1       /* -w flag and $^W != 0 */
14#define G_WARN_ALL_ON           2       /* -W flag */
15#define G_WARN_ALL_OFF          4       /* -X flag */
16#define G_WARN_ONCE             8       /* set if 'once' ever enabled */
17#define G_WARN_ALL_MASK         (G_WARN_ALL_ON|G_WARN_ALL_OFF)
18
19#define pWARN_STD               Nullsv
20#define pWARN_ALL               (Nullsv+1)      /* use warnings 'all' */
21#define pWARN_NONE              (Nullsv+2)      /* no  warnings 'all' */
22
23#define specialWARN(x)          ((x) == pWARN_STD || (x) == pWARN_ALL ||        \
24                                 (x) == pWARN_NONE)
25#define WARN_ALL                0
26#define WARN_CHMOD              1
27#define WARN_CLOSURE            2
28#define WARN_EXITING            3
29#define WARN_GLOB               4
30#define WARN_IO                 5
31#define WARN_CLOSED             6
32#define WARN_EXEC               7
33#define WARN_NEWLINE            8
34#define WARN_PIPE               9
35#define WARN_UNOPENED           10
36#define WARN_MISC               11
37#define WARN_NUMERIC            12
38#define WARN_ONCE               13
39#define WARN_OVERFLOW           14
40#define WARN_PACK               15
41#define WARN_PORTABLE           16
42#define WARN_RECURSION          17
43#define WARN_REDEFINE           18
44#define WARN_REGEXP             19
45#define WARN_SEVERE             20
46#define WARN_DEBUGGING          21
47#define WARN_INPLACE            22
48#define WARN_INTERNAL           23
49#define WARN_MALLOC             24
50#define WARN_SIGNAL             25
51#define WARN_SUBSTR             26
52#define WARN_SYNTAX             27
53#define WARN_AMBIGUOUS          28
54#define WARN_BAREWORD           29
55#define WARN_DEPRECATED         30
56#define WARN_DIGIT              31
57#define WARN_PARENTHESIS        32
58#define WARN_PRECEDENCE         33
59#define WARN_PRINTF             34
60#define WARN_PROTOTYPE          35
61#define WARN_QW                 36
62#define WARN_RESERVED           37
63#define WARN_SEMICOLON          38
64#define WARN_TAINT              39
65#define WARN_UMASK              40
66#define WARN_UNINITIALIZED      41
67#define WARN_UNPACK             42
68#define WARN_UNTIE              43
69#define WARN_UTF8               44
70#define WARN_VOID               45
71#define WARN_Y2K                46
72
73#define WARNsize                12
74#define WARN_ALLstring          "\125\125\125\125\125\125\125\125\125\125\125\125"
75#define WARN_NONEstring         "\0\0\0\0\0\0\0\0\0\0\0\0"
76
77#define isLEXWARN_on    (PL_curcop->cop_warnings != pWARN_STD)
78#define isLEXWARN_off   (PL_curcop->cop_warnings == pWARN_STD)
79#define isWARN_ONCE     (PL_dowarn & (G_WARN_ON|G_WARN_ONCE))
80#define isWARN_on(c,x)  (IsSet(SvPVX(c), 2*(x)))
81#define isWARNf_on(c,x) (IsSet(SvPVX(c), 2*(x)+1))
82
83#define ckDEAD(x)                                                       \
84           ( ! specialWARN(PL_curcop->cop_warnings) &&                  \
85            ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) ||          \
86              isWARNf_on(PL_curcop->cop_warnings, x)))
87
88#define ckWARN(x)                                                       \
89        ( (isLEXWARN_on && PL_curcop->cop_warnings != pWARN_NONE &&     \
90              (PL_curcop->cop_warnings == pWARN_ALL ||                  \
91               isWARN_on(PL_curcop->cop_warnings, x) ) )                \
92          || (isLEXWARN_off && PL_dowarn & G_WARN_ON) )
93
94#define ckWARN2(x,y)                                                    \
95          ( (isLEXWARN_on && PL_curcop->cop_warnings != pWARN_NONE &&   \
96              (PL_curcop->cop_warnings == pWARN_ALL ||                  \
97                isWARN_on(PL_curcop->cop_warnings, x)  ||               \
98                isWARN_on(PL_curcop->cop_warnings, y) ) )               \
99            ||  (isLEXWARN_off && PL_dowarn & G_WARN_ON) )
100
101#define ckWARN_d(x)                                                     \
102          (isLEXWARN_off || PL_curcop->cop_warnings == pWARN_ALL ||     \
103             (PL_curcop->cop_warnings != pWARN_NONE &&                  \
104              isWARN_on(PL_curcop->cop_warnings, x) ) )
105
106#define ckWARN2_d(x,y)                                                  \
107          (isLEXWARN_off || PL_curcop->cop_warnings == pWARN_ALL ||     \
108             (PL_curcop->cop_warnings != pWARN_NONE &&                  \
109                (isWARN_on(PL_curcop->cop_warnings, x)  ||              \
110                 isWARN_on(PL_curcop->cop_warnings, y) ) ) )
111
112/* end of file warnings.h */
113
Note: See TracBrowser for help on using the repository browser.