| 1 | /* -*- buffer-read-only: t -*- | 
|---|
| 2 | !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! | 
|---|
| 3 | This file is built by warnings.pl | 
|---|
| 4 | Any changes made here will be lost! | 
|---|
| 5 | */ | 
|---|
| 6 |  | 
|---|
| 7 |  | 
|---|
| 8 | #define Off(x)                  ((x) / 8) | 
|---|
| 9 | #define Bit(x)                  (1 << ((x) % 8)) | 
|---|
| 10 | #define IsSet(a, x)             ((a)[Off(x)] & Bit(x)) | 
|---|
| 11 |  | 
|---|
| 12 |  | 
|---|
| 13 | #define G_WARN_OFF              0       /* $^W == 0 */ | 
|---|
| 14 | #define G_WARN_ON               1       /* -w flag and $^W != 0 */ | 
|---|
| 15 | #define G_WARN_ALL_ON           2       /* -W flag */ | 
|---|
| 16 | #define G_WARN_ALL_OFF          4       /* -X flag */ | 
|---|
| 17 | #define G_WARN_ONCE             8       /* set if 'once' ever enabled */ | 
|---|
| 18 | #define G_WARN_ALL_MASK         (G_WARN_ALL_ON|G_WARN_ALL_OFF) | 
|---|
| 19 |  | 
|---|
| 20 | #define pWARN_STD               Nullsv | 
|---|
| 21 | #define pWARN_ALL               (Nullsv+1)      /* use warnings 'all' */ | 
|---|
| 22 | #define pWARN_NONE              (Nullsv+2)      /* no  warnings 'all' */ | 
|---|
| 23 |  | 
|---|
| 24 | #define specialWARN(x)          ((x) == pWARN_STD || (x) == pWARN_ALL ||        \ | 
|---|
| 25 | (x) == pWARN_NONE) | 
|---|
| 26 |  | 
|---|
| 27 | /* Warnings Categories added in Perl 5.008 */ | 
|---|
| 28 |  | 
|---|
| 29 | #define WARN_ALL                0 | 
|---|
| 30 | #define WARN_CLOSURE            1 | 
|---|
| 31 | #define WARN_DEPRECATED         2 | 
|---|
| 32 | #define WARN_EXITING            3 | 
|---|
| 33 | #define WARN_GLOB               4 | 
|---|
| 34 | #define WARN_IO                 5 | 
|---|
| 35 | #define WARN_CLOSED             6 | 
|---|
| 36 | #define WARN_EXEC               7 | 
|---|
| 37 | #define WARN_LAYER              8 | 
|---|
| 38 | #define WARN_NEWLINE            9 | 
|---|
| 39 | #define WARN_PIPE               10 | 
|---|
| 40 | #define WARN_UNOPENED           11 | 
|---|
| 41 | #define WARN_MISC               12 | 
|---|
| 42 | #define WARN_NUMERIC            13 | 
|---|
| 43 | #define WARN_ONCE               14 | 
|---|
| 44 | #define WARN_OVERFLOW           15 | 
|---|
| 45 | #define WARN_PACK               16 | 
|---|
| 46 | #define WARN_PORTABLE           17 | 
|---|
| 47 | #define WARN_RECURSION          18 | 
|---|
| 48 | #define WARN_REDEFINE           19 | 
|---|
| 49 | #define WARN_REGEXP             20 | 
|---|
| 50 | #define WARN_SEVERE             21 | 
|---|
| 51 | #define WARN_DEBUGGING          22 | 
|---|
| 52 | #define WARN_INPLACE            23 | 
|---|
| 53 | #define WARN_INTERNAL           24 | 
|---|
| 54 | #define WARN_MALLOC             25 | 
|---|
| 55 | #define WARN_SIGNAL             26 | 
|---|
| 56 | #define WARN_SUBSTR             27 | 
|---|
| 57 | #define WARN_SYNTAX             28 | 
|---|
| 58 | #define WARN_AMBIGUOUS          29 | 
|---|
| 59 | #define WARN_BAREWORD           30 | 
|---|
| 60 | #define WARN_DIGIT              31 | 
|---|
| 61 | #define WARN_PARENTHESIS        32 | 
|---|
| 62 | #define WARN_PRECEDENCE         33 | 
|---|
| 63 | #define WARN_PRINTF             34 | 
|---|
| 64 | #define WARN_PROTOTYPE          35 | 
|---|
| 65 | #define WARN_QW                 36 | 
|---|
| 66 | #define WARN_RESERVED           37 | 
|---|
| 67 | #define WARN_SEMICOLON          38 | 
|---|
| 68 | #define WARN_TAINT              39 | 
|---|
| 69 | #define WARN_THREADS            40 | 
|---|
| 70 | #define WARN_UNINITIALIZED      41 | 
|---|
| 71 | #define WARN_UNPACK             42 | 
|---|
| 72 | #define WARN_UNTIE              43 | 
|---|
| 73 | #define WARN_UTF8               44 | 
|---|
| 74 | #define WARN_VOID               45 | 
|---|
| 75 | #define WARN_Y2K                46 | 
|---|
| 76 |  | 
|---|
| 77 | #define WARNsize                12 | 
|---|
| 78 | #define WARN_ALLstring          "\125\125\125\125\125\125\125\125\125\125\125\125" | 
|---|
| 79 | #define WARN_NONEstring         "\0\0\0\0\0\0\0\0\0\0\0\0" | 
|---|
| 80 | #define WARN_TAINTstring        "\0\0\0\0\0\0\0\0\0\100\0\0" | 
|---|
| 81 |  | 
|---|
| 82 | #define isLEXWARN_on    (PL_curcop->cop_warnings != pWARN_STD) | 
|---|
| 83 | #define isLEXWARN_off   (PL_curcop->cop_warnings == pWARN_STD) | 
|---|
| 84 | #define isWARN_ONCE     (PL_dowarn & (G_WARN_ON|G_WARN_ONCE)) | 
|---|
| 85 | #define isWARN_on(c,x)  (IsSet(SvPVX_const(c), 2*(x))) | 
|---|
| 86 | #define isWARNf_on(c,x) (IsSet(SvPVX_const(c), 2*(x)+1)) | 
|---|
| 87 |  | 
|---|
| 88 | #define ckWARN(w)               Perl_ckwarn(aTHX_ packWARN(w)) | 
|---|
| 89 | #define ckWARN2(w1,w2)          Perl_ckwarn(aTHX_ packWARN2(w1,w2)) | 
|---|
| 90 | #define ckWARN3(w1,w2,w3)       Perl_ckwarn(aTHX_ packWARN3(w1,w2,w3)) | 
|---|
| 91 | #define ckWARN4(w1,w2,w3,w4)    Perl_ckwarn(aTHX_ packWARN4(w1,w2,w3,w4)) | 
|---|
| 92 |  | 
|---|
| 93 | #define ckWARN_d(w)             Perl_ckwarn_d(aTHX_ packWARN(w)) | 
|---|
| 94 | #define ckWARN2_d(w1,w2)        Perl_ckwarn_d(aTHX_ packWARN2(w1,w2)) | 
|---|
| 95 | #define ckWARN3_d(w1,w2,w3)     Perl_ckwarn_d(aTHX_ packWARN3(w1,w2,w3)) | 
|---|
| 96 | #define ckWARN4_d(w1,w2,w3,w4)  Perl_ckwarn_d(aTHX_ packWARN4(w1,w2,w3,w4)) | 
|---|
| 97 |  | 
|---|
| 98 | #define packWARN(a)             (a                                      ) | 
|---|
| 99 | #define packWARN2(a,b)          ((a) | ((b)<<8)                         ) | 
|---|
| 100 | #define packWARN3(a,b,c)        ((a) | ((b)<<8) | ((c)<<16)             ) | 
|---|
| 101 | #define packWARN4(a,b,c,d)      ((a) | ((b)<<8) | ((c)<<16) | ((d) <<24)) | 
|---|
| 102 |  | 
|---|
| 103 | #define unpackWARN1(x)          ((x)        & 0xFF) | 
|---|
| 104 | #define unpackWARN2(x)          (((x) >>8)  & 0xFF) | 
|---|
| 105 | #define unpackWARN3(x)          (((x) >>16) & 0xFF) | 
|---|
| 106 | #define unpackWARN4(x)          (((x) >>24) & 0xFF) | 
|---|
| 107 |  | 
|---|
| 108 | #define ckDEAD(x)                                                       \ | 
|---|
| 109 | ( ! specialWARN(PL_curcop->cop_warnings) &&                  \ | 
|---|
| 110 | ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) ||          \ | 
|---|
| 111 | isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) ||    \ | 
|---|
| 112 | isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) ||    \ | 
|---|
| 113 | isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) ||    \ | 
|---|
| 114 | isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x)))) | 
|---|
| 115 |  | 
|---|
| 116 | /* end of file warnings.h */ | 
|---|
| 117 | /* ex: set ro: */ | 
|---|