Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
3.6 KiB

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