/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by warnings.pl Any changes made here will be lost! */ #define Off(x) ((x) / 8) #define Bit(x) (1 << ((x) % 8)) #define IsSet(a, x) ((a)[Off(x)] & Bit(x)) #define G_WARN_OFF 0 /* $^W == 0 */ #define G_WARN_ON 1 /* -w flag and $^W != 0 */ #define G_WARN_ALL_ON 2 /* -W flag */ #define G_WARN_ALL_OFF 4 /* -X flag */ #define G_WARN_ONCE 8 /* set if 'once' ever enabled */ #define G_WARN_ALL_MASK (G_WARN_ALL_ON|G_WARN_ALL_OFF) #define pWARN_STD Nullsv #define pWARN_ALL (Nullsv+1) /* use warnings 'all' */ #define pWARN_NONE (Nullsv+2) /* no warnings 'all' */ #define specialWARN(x) ((x) == pWARN_STD || (x) == pWARN_ALL || \ (x) == pWARN_NONE) #define WARN_ALL 0 #define WARN_CLOSURE 1 #define WARN_DEPRECATED 2 #define WARN_EXITING 3 #define WARN_GLOB 4 #define WARN_IO 5 #define WARN_CLOSED 6 #define WARN_EXEC 7 #define WARN_NEWLINE 8 #define WARN_PIPE 9 #define WARN_UNOPENED 10 #define WARN_MISC 11 #define WARN_NUMERIC 12 #define WARN_ONCE 13 #define WARN_OVERFLOW 14 #define WARN_PACK 15 #define WARN_PORTABLE 16 #define WARN_RECURSION 17 #define WARN_REDEFINE 18 #define WARN_REGEXP 19 #define WARN_SEVERE 20 #define WARN_DEBUGGING 21 #define WARN_INPLACE 22 #define WARN_INTERNAL 23 #define WARN_MALLOC 24 #define WARN_SIGNAL 25 #define WARN_SUBSTR 26 #define WARN_SYNTAX 27 #define WARN_AMBIGUOUS 28 #define WARN_BAREWORD 29 #define WARN_DIGIT 30 #define WARN_PARENTHESIS 31 #define WARN_PRECEDENCE 32 #define WARN_PRINTF 33 #define WARN_PROTOTYPE 34 #define WARN_QW 35 #define WARN_RESERVED 36 #define WARN_SEMICOLON 37 #define WARN_TAINT 38 #define WARN_UNINITIALIZED 39 #define WARN_UNPACK 40 #define WARN_UNTIE 41 #define WARN_UTF8 42 #define WARN_VOID 43 #define WARN_Y2K 44 #define WARNsize 12 #define WARN_ALLstring "\125\125\125\125\125\125\125\125\125\125\125\125" #define WARN_NONEstring "\0\0\0\0\0\0\0\0\0\0\0\0" #define WARN_TAINTstring "\0\0\0\0\0\0\0\0\0\20\0\0" #define isLEXWARN_on (PL_curcop->cop_warnings != pWARN_STD) #define isLEXWARN_off (PL_curcop->cop_warnings == pWARN_STD) #define isWARN_ONCE (PL_dowarn & (G_WARN_ON|G_WARN_ONCE)) #define isWARN_on(c,x) (IsSet(SvPVX(c), 2*(x))) #define isWARNf_on(c,x) (IsSet(SvPVX(c), 2*(x)+1)) #define ckWARN(x) \ ( (isLEXWARN_on && PL_curcop->cop_warnings != pWARN_NONE && \ (PL_curcop->cop_warnings == pWARN_ALL || \ isWARN_on(PL_curcop->cop_warnings, x) ) ) \ || (isLEXWARN_off && PL_dowarn & G_WARN_ON) ) #define ckWARN2(x,y) \ ( (isLEXWARN_on && PL_curcop->cop_warnings != pWARN_NONE && \ (PL_curcop->cop_warnings == pWARN_ALL || \ isWARN_on(PL_curcop->cop_warnings, x) || \ isWARN_on(PL_curcop->cop_warnings, y) ) ) \ || (isLEXWARN_off && PL_dowarn & G_WARN_ON) ) #define ckWARN3(x,y,z) \ ( (isLEXWARN_on && PL_curcop->cop_warnings != pWARN_NONE && \ (PL_curcop->cop_warnings == pWARN_ALL || \ isWARN_on(PL_curcop->cop_warnings, x) || \ isWARN_on(PL_curcop->cop_warnings, y) || \ isWARN_on(PL_curcop->cop_warnings, z) ) ) \ || (isLEXWARN_off && PL_dowarn & G_WARN_ON) ) #define ckWARN4(x,y,z,t) \ ( (isLEXWARN_on && PL_curcop->cop_warnings != pWARN_NONE && \ (PL_curcop->cop_warnings == pWARN_ALL || \ isWARN_on(PL_curcop->cop_warnings, x) || \ isWARN_on(PL_curcop->cop_warnings, y) || \ isWARN_on(PL_curcop->cop_warnings, z) || \ isWARN_on(PL_curcop->cop_warnings, t) ) ) \ || (isLEXWARN_off && PL_dowarn & G_WARN_ON) ) #define ckWARN_d(x) \ (isLEXWARN_off || PL_curcop->cop_warnings == pWARN_ALL || \ (PL_curcop->cop_warnings != pWARN_NONE && \ isWARN_on(PL_curcop->cop_warnings, x) ) ) #define ckWARN2_d(x,y) \ (isLEXWARN_off || PL_curcop->cop_warnings == pWARN_ALL || \ (PL_curcop->cop_warnings != pWARN_NONE && \ (isWARN_on(PL_curcop->cop_warnings, x) || \ isWARN_on(PL_curcop->cop_warnings, y) ) ) ) #define ckWARN3_d(x,y,z) \ (isLEXWARN_off || PL_curcop->cop_warnings == pWARN_ALL || \ (PL_curcop->cop_warnings != pWARN_NONE && \ (isWARN_on(PL_curcop->cop_warnings, x) || \ isWARN_on(PL_curcop->cop_warnings, y) || \ isWARN_on(PL_curcop->cop_warnings, z) ) ) ) #define ckWARN4_d(x,y,z,t) \ (isLEXWARN_off || PL_curcop->cop_warnings == pWARN_ALL || \ (PL_curcop->cop_warnings != pWARN_NONE && \ (isWARN_on(PL_curcop->cop_warnings, x) || \ isWARN_on(PL_curcop->cop_warnings, y) || \ isWARN_on(PL_curcop->cop_warnings, z) || \ isWARN_on(PL_curcop->cop_warnings, t) ) ) ) #define packWARN(a) (a ) #define packWARN2(a,b) ((a) | (b)<<8 ) #define packWARN3(a,b,c) ((a) | (b)<<8 | (c) <<16 ) #define packWARN4(a,b,c,d) ((a) | (b)<<8 | (c) <<16 | (d) <<24) #define unpackWARN1(x) ((x) & 0xFF) #define unpackWARN2(x) (((x) >>8) & 0xFF) #define unpackWARN3(x) (((x) >>16) & 0xFF) #define unpackWARN4(x) (((x) >>24) & 0xFF) #define ckDEAD(x) \ ( ! specialWARN(PL_curcop->cop_warnings) && \ ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) || \ isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) || \ isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) || \ isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) || \ isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x)))) /* end of file warnings.h */