Advertisement
Guest User

Untitled

a guest
Nov 27th, 2019
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.14 KB | None | 0 0
  1. /*
  2. output from clang-9 with "make W=123"
  3.  
  4. 6 -Wunused-but-set-parameter]
  5. 14 -Wold-style-definition]
  6. 16 -Wvla-larger-than=]
  7. 26 -Wstrict-overflow]
  8. 57 -Wundef]
  9. 145 -Wfloat-equal]
  10. 157 -Wframe-address]
  11. 190 -Wjump-misses-init]
  12. 232 -Wlogical-op]
  13. 304 -Wold-style-declaration]
  14. 307 -Wframe-larger-than=]
  15. 319 -Wignored-qualifiers]
  16. 393 -Wmaybe-uninitialized]
  17. 623 -Wsuggest-attribute=format]
  18. 647 -Wstack-usage=]
  19. 671 -Wstringop-truncation]
  20. 711 -Wcast-function-type]
  21. 743 -Wvector-operation-performance]
  22. 984 -Wformat-overflow=]
  23. 997 -Wsuggest-attribute=noreturn]
  24. 1013 -Wformat-security]
  25. 1500 -Wempty-body]
  26. 1972 -Wdouble-promotion]
  27. 2784 -Wformat-nonliteral]
  28. 4332 -Wduplicated-cond]
  29. 5171 -Wfloat-conversion]
  30. 6576 -Wformat-truncation=]
  31. 6697 -Wstack-protector]
  32. 7826 -Woverlength-strings]
  33. 7969 -Wunused-but-set-variable]
  34. 11801 -Wduplicated-branches]
  35. 15989 -Wuninitialized]
  36. 19518 -Wmissing-prototypes]
  37. 21354 -Woverride-init]
  38. 25315 -Wtype-limits]
  39. 28348 -Wsuggest-attribute=const]
  40. 35718 -Wsuggest-attribute=cold]
  41. 35789 -Wunsuffixed-float-constants]
  42. 37048 -Waggregate-return]
  43. 40664 -Wimplicit-fallthrough=]
  44. 43685 -Wunused-const-variable=]
  45. 68675 -Wshift-overflow=]
  46. 79124 -Wsuggest-attribute=pure]
  47. 184929 -Wsuggest-attribute=malloc]
  48. 285910 -Wpointer-sign]
  49. 305056 -Wunused-macros]
  50. 550802 -Wformat=]
  51. 619302 -Wshadow]
  52. 621102 -Wswitch-default]
  53. 854764 -Wcast-align]
  54. 1075660 -Wmissing-field-initializers]
  55. 1141263 -Wlarger-than=]
  56. 1171275 -Winline]
  57. 1266195 -Wsign-compare]
  58. 2241214 -Wswitch-enum]
  59. 4828168 -Wpacked]
  60. 5915026 -Wredundant-decls]
  61. */
  62.  
  63. /* default-enabled warnings */
  64. KBUILD_WARN(0, GCC_4_6, "-Wattributes")
  65. KBUILD_WARN(0, GCC_4_6, "-Wbuiltin-macro-redefined")
  66. KBUILD_WARN(0, GCC_4_6, "-Wcoverage-mismatch")
  67. KBUILD_WARN(0, GCC_4_6, "-Wcpp")
  68. KBUILD_WARN(0, GCC_4_6, "-Wdeclaration-after-statement")
  69. KBUILD_WARN(0, GCC_4_6, "-Wdeprecated-declarations")
  70. KBUILD_WARN(0, GCC_4_6, "-Wdeprecated")
  71. KBUILD_WARN(0, GCC_4_6, "-Wdiv-by-zero")
  72. KBUILD_WARN(0, GCC_4_6, "-Wendif-labels")
  73. KBUILD_WARN(0, GCC_4_6, "-Wenum-compare")
  74. KBUILD_WARN(0, GCC_4_6, "-Wimplicit-function-declaration")
  75. KBUILD_WARN(0, GCC_4_6, "-Wimplicit-int")
  76. KBUILD_WARN(0, GCC_4_6, "-Wint-to-pointer-cast")
  77. KBUILD_WARN(0, GCC_4_6, "-Wlong-long")
  78. KBUILD_WARN(0, GCC_4_6, "-Wmain")
  79. KBUILD_WARN(0, GCC_4_6, "-Woverflow")
  80. KBUILD_WARN(0, GCC_4_6, "-Wpacked-bitfield-compat")
  81. KBUILD_WARN(0, GCC_4_6, "-Wpointer-to-int-cast")
  82. KBUILD_WARN(0, GCC_4_6, "-Wpragmas")
  83. KBUILD_WARN(0, GCC_4_6, "-Wpsabi")
  84. KBUILD_WARN(0, GCC_4_6, "-Wreturn-type")
  85. KBUILD_WARN(0, GCC_4_6, "-Wsync-nand")
  86. KBUILD_WARN(0, GCC_4_6, "-Wtrigraphs") /* never */
  87. KBUILD_WARN(0, GCC_4_6, "-Wnormalized=nfc")
  88. KBUILD_WARN(0, GCC_4_7, "-Wfree-nonheap-object")
  89. KBUILD_WARN(0, GCC_4_7, "-Winvalid-memory-model")
  90. KBUILD_WARN(0, GCC_4_7, "-Wnarrowing")
  91. KBUILD_WARN(0, GCC_4_8, "-Waggressive-loop-optimizations")
  92. KBUILD_WARN(0, GCC_4_8, "-Wreturn-local-addr")
  93. KBUILD_WARN(0, GCC_4_8, "-Wvarargs")
  94. KBUILD_WARN(0, GCC_5, "-Wc90-c99-compat")
  95. KBUILD_WARN(0, GCC_5, "-Wc99-c11-compat")
  96. KBUILD_WARN(0, GCC_5, "-Wdesignated-init")
  97. KBUILD_WARN(0, GCC_5, "-Wdiscarded-array-qualifiers")
  98. KBUILD_WARN(0, GCC_5, "-Wdiscarded-qualifiers")
  99. KBUILD_WARN(0, GCC_5, "-Wincompatible-pointer-types")
  100. KBUILD_WARN(0, GCC_5, "-Wint-conversion")
  101. KBUILD_WARN(0, GCC_5, "-Wodr")
  102. KBUILD_WARN(0, GCC_5, "-Wshift-count-negative")
  103. KBUILD_WARN(0, GCC_5, "-Wshift-count-overflow")
  104. KBUILD_WARN(0, GCC_5, "-Wsizeof-array-argument")
  105. KBUILD_WARN(0, GCC_5, "-Wswitch-bool")
  106. KBUILD_WARN(0, GCC_6, "-Whsa")
  107. KBUILD_WARN(0, GCC_6, "-Wignored-attributes")
  108. KBUILD_WARN(0, GCC_6, "-Wlto-type-mismatch")
  109. KBUILD_WARN(0, GCC_6, "-Woverride-init-side-effects")
  110. KBUILD_WARN(0, GCC_6, "-Wscalar-storage-order")
  111. KBUILD_WARN(0, GCC_6, "-Wshift-negative-value")
  112. KBUILD_WARN(0, GCC_6, "-Wshift-overflow=1")
  113. KBUILD_WARN(4, GCC_6, "-Wshift-overflow=2") /* lots */
  114. KBUILD_WARN(0, GCC_7, "-Wbuiltin-declaration-mismatch")
  115. KBUILD_WARN(0, GCC_7, "-Wpointer-compare")
  116. KBUILD_WARN(0, GCC_7, "-Wstringop-overflow=2")
  117. KBUILD_WARN(3, GCC_7, "-Wstringop-overflow=4") /* never */
  118. KBUILD_WARN(0, GCC_7, "-Wswitch-unreachable")
  119. KBUILD_WARN(0, GCC_8, "-Wattribute-alias")
  120. KBUILD_WARN(0, GCC_8, "-Wif-not-aligned")
  121. KBUILD_WARN(1, GCC_9, "-Waddress-of-packed-member") /* lots */
  122. KBUILD_WARN(1, CLANG_8, "-Waddress-of-packed-member") /* lots */
  123. KBUILD_WARN(0, CLANG_8, "-W#pragma-messages")
  124. KBUILD_WARN(0, CLANG_8, "-W#warnings")
  125. KBUILD_WARN(0, CLANG_8, "-Wabsolute-value")
  126. KBUILD_WARN(0, CLANG_8, "-Wabstract-final-class")
  127. KBUILD_WARN(0, CLANG_8, "-Waddress")
  128. KBUILD_WARN(0, CLANG_8, "-Wstring-compare")
  129. KBUILD_WARN(0, CLANG_8, "-Wtautological-pointer-compare") /* rare */
  130. KBUILD_WARN(0, CLANG_8, "-Waddress-of-temporary")
  131. KBUILD_WARN(0, CLANG_8, "-Wambiguous-macro")
  132. KBUILD_WARN(0, CLANG_8, "-Wambiguous-member-template")
  133. KBUILD_WARN(0, CLANG_8, "-Warc")
  134. KBUILD_WARN(0, CLANG_8, "-Warc-non-pod-memaccess")
  135. KBUILD_WARN(0, CLANG_8, "-Warc-retain-cycles")
  136. KBUILD_WARN(0, CLANG_8, "-Warc-unsafe-retained-assign")
  137. KBUILD_WARN(0, CLANG_8, "-Warc-repeated-use-of-weak")
  138. KBUILD_WARN(0, CLANG_8, "-Warc-maybe-repeated-use-of-weak")
  139. KBUILD_WARN(0, CLANG_8, "-Warray-bounds")
  140. KBUILD_WARN(0, CLANG_8, "-Wasm")
  141. KBUILD_WARN(0, CLANG_8, "-Wasm-ignored-qualifier")
  142. KBUILD_WARN(0, CLANG_8, "-Wasm-operand-widths")
  143. KBUILD_WARN(0, CLANG_8, "-Watimport-in-framework-header")
  144. KBUILD_WARN(0, CLANG_8, "-Wattributes")
  145. KBUILD_WARN(0, CLANG_8, "-Wignored-attributes")
  146. KBUILD_WARN(0, CLANG_8, "-Wunknown-attributes")
  147. KBUILD_WARN(0, CLANG_8, "-Wauto-disable-vptr-sanitizer")
  148. KBUILD_WARN(0, CLANG_8, "-Wavailability")
  149. KBUILD_WARN(0, CLANG_8, "-Wbackend-plugin")
  150. KBUILD_WARN(0, CLANG_8, "-Wblock-capture-autoreleasing")
  151. KBUILD_WARN(0, CLANG_8, "-Wbool-conversion")
  152. KBUILD_WARN(0, CLANG_8, "-Wpointer-bool-conversion")
  153. KBUILD_WARN(0, CLANG_8, "-Wundefined-bool-conversion")
  154. KBUILD_WARN(0, CLANG_8, "-Wbridge-cast")
  155. KBUILD_WARN(0, CLANG_8, "-Wbuiltin-macro-redefined")
  156. KBUILD_WARN(0, CLANG_8, "-Wbuiltin-requires-header")
  157. KBUILD_WARN(0, CLANG_8, "-Wclang-cl-pch")
  158. KBUILD_WARN(0, CLANG_8, "-Wcompare-distinct-pointer-types")
  159. KBUILD_WARN(0, CLANG_8, "-Wconfig-macros")
  160. KBUILD_WARN(0, CLANG_8, "-Wctu")
  161. KBUILD_WARN(0, CLANG_8, "-Wdangling")
  162. KBUILD_WARN(0, CLANG_8, "-Wdangling-field")
  163. KBUILD_WARN(0, CLANG_8, "-Wdangling-initializer-list")
  164. KBUILD_WARN(0, CLANG_8, "-Wreturn-stack-address")
  165. KBUILD_WARN(0, CLANG_8, "-Wdealloc-in-category")
  166. KBUILD_WARN(0, CLANG_8, "-Wdelete-incomplete")
  167. KBUILD_WARN(0, CLANG_8, "-Wdistributed-object-modifiers")
  168. KBUILD_WARN(0, CLANG_8, "-Wdivision-by-zero")
  169. KBUILD_WARN(0, CLANG_8, "-Wempty-body")
  170. KBUILD_WARN(0, CLANG_8, "-Wextra-tokens")
  171. KBUILD_WARN(0, CLANG_8, "-Wenum-compare")
  172. KBUILD_WARN(0, CLANG_8, "-Wenum-compare-switch")
  173. KBUILD_WARN(0, CLANG_8, "-Wenum-too-large")
  174. KBUILD_WARN(0, CLANG_8, "-Wexperimental-isel")
  175. KBUILD_WARN(0, CLANG_8, "-Wexplicit-initialize-call")
  176. KBUILD_WARN(0, CLANG_8, "-Wfallback")
  177. KBUILD_WARN(0, CLANG_8, "-Wflag-enum")
  178. KBUILD_WARN(0, CLANG_8, "-Wflexible-array-extensions")
  179. KBUILD_WARN(0, CLANG_8, "-Wfunction-multiversion")
  180. KBUILD_WARN(0, CLANG_8, "-Wgcc-compat")
  181. KBUILD_WARN(0, CLANG_8, "-Wimplicit-conversion-floating-point-to-bool")
  182. KBUILD_WARN(0, CLANG_8, "-Wimplicitly-unsigned-literal")
  183. KBUILD_WARN(0, CLANG_8, "-Wincompatible-exception-spec")
  184. KBUILD_WARN(0, CLANG_8, "-Wincompatible-ms-struct")
  185. KBUILD_WARN(0, CLANG_8, "-Wincompatible-pointer-types")
  186. KBUILD_WARN(0, CLANG_8, "-Wincompatible-function-pointer-types")
  187. KBUILD_WARN(0, CLANG_8, "-Wincompatible-pointer-types-discards-qualifiers")
  188. KBUILD_WARN(0, CLANG_8, "-Wincomplete-framework-module-declaration")
  189. KBUILD_WARN(0, CLANG_8, "-Wincomplete-module")
  190. KBUILD_WARN(0, CLANG_8, "-Wincomplete-umbrella")
  191. KBUILD_WARN(0, CLANG_8, "-Wnon-modular-include-in-module")
  192. KBUILD_WARN(0, CLANG_8, "-Wnon-modular-include-in-framework-module")
  193. KBUILD_WARN(0, CLANG_8, "-Winconsistent-missing-override")
  194. KBUILD_WARN(0, CLANG_8, "-Wincrement-bool")
  195. KBUILD_WARN(0, CLANG_8, "-Wdeprecated-increment-bool")
  196. KBUILD_WARN(0, CLANG_8, "-Winline-asm")
  197. KBUILD_WARN(0, CLANG_8, "-Wint-to-pointer-cast")
  198. KBUILD_WARN(0, CLANG_8, "-Wint-to-void-pointer-cast")
  199. KBUILD_WARN(0, CLANG_8, "-Winvalid-command-line-argument")
  200. KBUILD_WARN(2, CLANG_8, "-Wignored-optimization-argument")
  201. KBUILD_WARN(0, CLANG_8, "-Winvalid-iboutlet")
  202. KBUILD_WARN(0, CLANG_8, "-Winvalid-noreturn")
  203. KBUILD_WARN(0, CLANG_8, "-Winvalid-offsetof")
  204. KBUILD_WARN(0, CLANG_8, "-Winvalid-pp-token")
  205. KBUILD_WARN(0, CLANG_8, "-Winvalid-source-encoding")
  206. KBUILD_WARN(0, CLANG_8, "-Wkeyword-compat")
  207. KBUILD_WARN(0, CLANG_8, "-Wknr-promoted-parameter")
  208. KBUILD_WARN(0, CLANG_8, "-Wlarge-by-value-copy")
  209. KBUILD_WARN(0, CLANG_8, "-Wmacro-redefined")
  210. KBUILD_WARN(0, CLANG_8, "-Wmain-return-type")
  211. KBUILD_WARN(0, CLANG_8, "-Wmalformed-warning-check")
  212. KBUILD_WARN(0, CLANG_8, "-Wmax-unsigned-zero")
  213. KBUILD_WARN(0, CLANG_8, "-Wmismatched-parameter-types")
  214. KBUILD_WARN(0, CLANG_8, "-Wmismatched-return-types")
  215. KBUILD_WARN(1, CLANG_8, "-Wmissing-declarations") /* never */
  216. KBUILD_WARN(0, CLANG_8, "-Wmissing-noreturn")
  217. KBUILD_WARN(0, CLANG_8, "-Wmodule-conflict")
  218. KBUILD_WARN(0, CLANG_8, "-Wmodule-file-extension")
  219. KBUILD_WARN(0, CLANG_8, "-Wnewline-eof")
  220. KBUILD_WARN(0, CLANG_8, "-Wnoderef")
  221. KBUILD_WARN(0, CLANG_8, "-Wnsconsumed-mismatch")
  222. KBUILD_WARN(0, CLANG_8, "-WNSObject-attribute")
  223. KBUILD_WARN(0, CLANG_8, "-Wnsreturns-mismatch")
  224. KBUILD_WARN(0, CLANG_8, "-Wnull-arithmetic")
  225. KBUILD_WARN(0, CLANG_8, "-Wnull-character")
  226. KBUILD_WARN(0, CLANG_8, "-Wnull-dereference")
  227. KBUILD_WARN(0, CLANG_8, "-Wnullability")
  228. KBUILD_WARN(0, CLANG_8, "-Wnullability-completeness")
  229. KBUILD_WARN(0, CLANG_8, "-Wnullability-completeness-on-arrays")
  230. KBUILD_WARN(0, CLANG_8, "-Wnullability-declspec")
  231. KBUILD_WARN(0, CLANG_8, "-Wnullability-inferred-on-nested-type")
  232. KBUILD_WARN(0, CLANG_8, "-Wold-style-cast")
  233. KBUILD_WARN(0, CLANG_8, "-Woption-ignored")
  234. KBUILD_WARN(0, CLANG_8, "-Wout-of-line-declaration")
  235. KBUILD_WARN(1, CLANG_8, "-Winitializer-overrides") /* medium */
  236. KBUILD_WARN(0, CLANG_8, "-Wunguarded-availability-new")
  237. KBUILD_WARN(0, CLANG_8, "-Wpass-failed")
  238. KBUILD_WARN(0, CLANG_8, "-Wpedantic")
  239. KBUILD_WARN(1, CLANG_8, "-Wpointer-sign") /* lots, but valuable */
  240. KBUILD_WARN(0, CLANG_8, "-Wprofile-instr-out-of-date")
  241. KBUILD_WARN(0, CLANG_8, "-Wprofile-instr-unprofiled")
  242. KBUILD_WARN(0, CLANG_8, "-Wproperty-access-dot-syntax")
  243. KBUILD_WARN(0, CLANG_8, "-Wproperty-attribute-mismatch")
  244. KBUILD_WARN(0, CLANG_8, "-Wprotocol")
  245. KBUILD_WARN(0, CLANG_8, "-Wregister")
  246. KBUILD_WARN(0, CLANG_8, "-Wdeprecated-register")
  247. KBUILD_WARN(0, CLANG_8, "-Wsentinel")
  248. KBUILD_WARN(0, CLANG_8, "-Wunsequenced")
  249. KBUILD_WARN(0, CLANG_8, "-Wserialized-diagnostics")
  250. KBUILD_WARN(0, CLANG_8, "-Wstatic-float-init")
  251. KBUILD_WARN(0, CLANG_8, "-Wstatic-local-in-inline")
  252. KBUILD_WARN(0, CLANG_8, "-Wstring-plus-char")
  253. KBUILD_WARN(0, CLANG_8, "-Wstrncat-size")
  254. KBUILD_WARN(0, CLANG_8, "-Wsuspicious-memaccess")
  255. KBUILD_WARN(0, CLANG_8, "-Wdynamic-class-memaccess")
  256. KBUILD_WARN(0, CLANG_8, "-Wmemset-transposed-args")
  257. KBUILD_WARN(0, CLANG_8, "-Wnontrivial-memaccess")
  258. KBUILD_WARN(0, CLANG_8, "-Wsizeof-pointer-memaccess")
  259. KBUILD_WARN(0, CLANG_8, "-Wsuspicious-bzero")
  260. KBUILD_WARN(0, CLANG_8, "-Wtype-safety")
  261. KBUILD_WARN(0, CLANG_8, "-Wunavailable-declarations")
  262. KBUILD_WARN(0, CLANG_8, "-Wunicode")
  263. KBUILD_WARN(0, CLANG_8, "-Wunknown-argument")
  264. KBUILD_WARN(0, CLANG_8, "-Wunknown-sanitizers")
  265. KBUILD_WARN(0, CLANG_8, "-Wunknown-warning-option")
  266. KBUILD_WARN(0, CLANG_8, "-Wunsupported-abs")
  267. KBUILD_WARN(0, CLANG_8, "-Wunsupported-cb")
  268. KBUILD_WARN(0, CLANG_8, "-Wunsupported-gpopt")
  269. KBUILD_WARN(0, CLANG_8, "-Wunsupported-nan")
  270. KBUILD_WARN(0, CLANG_8, "-Wunsupported-target-opt")
  271. KBUILD_WARN(0, CLANG_8, "-Wunused-command-line-argument")
  272. KBUILD_WARN(0, CLANG_8, "-Wunused-getter-return-value")
  273. KBUILD_WARN(0, CLANG_8, "-Wuser-defined-literals")
  274. KBUILD_WARN(0, CLANG_8, "-Wvarargs")
  275. KBUILD_WARN(0, CLANG_8, "-Wvexing-parse")
  276. KBUILD_WARN(0, CLANG_8, "-Wvisibility")
  277. KBUILD_WARN(0, CLANG_8, "-Wwritable-strings")
  278. KBUILD_WARN(0, CLANG_8, "-Wdeprecated-writable-strings")
  279.  
  280. /* Enabled by -Wall */
  281. KBUILD_WARN(0, GCC_4_6, "-Wall")
  282. KBUILD_WARN(0, GCC_4_6, "-Waddress")
  283. KBUILD_WARN(0, GCC_4_6, "-Warray-bounds")
  284. KBUILD_WARN(0, GCC_4_6, "-Warray-bounds=1")
  285. KBUILD_WARN(3, GCC_4_6, "-Warray-bounds=2") /* never */
  286. KBUILD_WARN(0, GCC_4_6, "-Wchar-subscripts")
  287. KBUILD_WARN(0, GCC_4_6, "-Wcomment")
  288. KBUILD_WARN(0, GCC_4_6, "-Wimplicit")
  289. KBUILD_WARN(0, GCC_4_6, "-Wmissing-braces")
  290. KBUILD_WARN(0, GCC_4_6, "-Wnonnull")
  291. KBUILD_WARN(0, GCC_4_6, "-Wparentheses")
  292. KBUILD_WARN(2, GCC_4_6, "-Wpointer-sign") /* lots, but valuable */
  293. KBUILD_WARN(4, GCC_4_6, "-Wpointer-sign") /* lots, but valuable */
  294. KBUILD_WARN(0, GCC_4_6, "-Wsequence-point")
  295. KBUILD_WARN(0, GCC_4_6, "-Wswitch")
  296. KBUILD_WARN(0, GCC_4_6, "-Wstrict-aliasing=3")
  297. KBUILD_WARN(0, GCC_4_6, "-Wstrict-overflow=1")
  298. KBUILD_WARN(3, GCC_4_6, "-Wstrict-overflow=5") /* rare */
  299. KBUILD_WARN(0, GCC_4_6, "-Wuninitialized") /* medium */
  300. KBUILD_WARN(0, GCC_4_6, "-Wunknown-pragmas")
  301. KBUILD_WARN(0, GCC_4_6, "-Wvolatile-register-var")
  302.  
  303. #if defined(CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED)
  304. KBUILD_WARN(0, GCC_4_7, "-Wmaybe-uninitialized")
  305. #else
  306. KBUILD_WARN(1, GCC_4_7, "-Wmaybe-uninitialized") /* medium */
  307. #endif
  308.  
  309. KBUILD_WARN(0, GCC_4_8, "-Wsizeof-pointer-memaccess")
  310. KBUILD_WARN(0, GCC_4_9, "-Wopenmp-simd")
  311. KBUILD_WARN(0, GCC_5, "-Wbool-compare")
  312. KBUILD_WARN(0, GCC_5, "-Wchkp")
  313. KBUILD_WARN(0, GCC_5, "-Wlogical-not-parentheses")
  314. KBUILD_WARN(0, GCC_5, "-Wmemset-transposed-args")
  315. KBUILD_WARN(1, GCC_6, "-Wframe-address") /* rare */
  316. KBUILD_WARN(0, GCC_6, "-Wmisleading-indentation")
  317. KBUILD_WARN(0, GCC_6, "-Wnonnull-compare")
  318. KBUILD_WARN(0, GCC_6, "-Wtautological-compare")
  319. KBUILD_WARN(0, GCC_7, "-Wbool-operation")
  320. KBUILD_WARN(0, GCC_7, "-Wdangling-else")
  321. KBUILD_WARN(0, GCC_7, "-Wduplicate-decl-specifier")
  322. KBUILD_WARN(0, GCC_7, "-Wint-in-bool-context")
  323. KBUILD_WARN(0, GCC_7, "-Wmemset-elt-size")
  324. KBUILD_WARN(0, GCC_7, "-Wrestrict")
  325. KBUILD_WARN(0, GCC_8, "-Wmissing-attributes")
  326. KBUILD_WARN(0, GCC_8, "-Wmultistatement-macros")
  327. KBUILD_WARN(0, GCC_8, "-Wpacked-not-aligned")
  328. KBUILD_WARN(0, GCC_8, "-Wsizeof-pointer-div")
  329. KBUILD_WARN(1, GCC_8, "-Wstringop-truncation") /* medium */
  330. KBUILD_WARN(0, CLANG_8, "-Wall")
  331. KBUILD_WARN(0, CLANG_8, "-Wmost")
  332. KBUILD_WARN(0, CLANG_8, "-Wcast-of-sel-type")
  333. KBUILD_WARN(0, CLANG_8, "-Wchar-subscripts")
  334. KBUILD_WARN(0, CLANG_8, "-Wcomment")
  335. KBUILD_WARN(0, CLANG_8, "-Wextern-c-compat")
  336. KBUILD_WARN(0, CLANG_8, "-Wfor-loop-analysis")
  337. KBUILD_WARN(0, CLANG_8, "-Wimplicit")
  338. KBUILD_WARN(0, CLANG_8, "-Wimplicit-function-declaration")
  339. KBUILD_WARN(0, CLANG_8, "-Wimplicit-int")
  340. KBUILD_WARN(0, CLANG_8, "-Winfinite-recursion")
  341. KBUILD_WARN(0, CLANG_8, "-Wmismatched-tags")
  342. KBUILD_WARN(0, CLANG_8, "-Wmissing-braces")
  343. KBUILD_WARN(0, CLANG_8, "-Wmove")
  344. KBUILD_WARN(0, CLANG_8, "-Wpessimizing-move")
  345. KBUILD_WARN(0, CLANG_8, "-Wredundant-move")
  346. KBUILD_WARN(0, CLANG_8, "-Wreturn-std-move")
  347. KBUILD_WARN(0, CLANG_8, "-Wself-move")
  348. KBUILD_WARN(0, CLANG_8, "-Wmultichar")
  349. KBUILD_WARN(0, CLANG_8, "-Wobjc-designated-initializers")
  350. KBUILD_WARN(0, CLANG_8, "-Wobjc-flexible-array")
  351. KBUILD_WARN(0, CLANG_8, "-Wobjc-missing-super-calls")
  352. KBUILD_WARN(0, CLANG_8, "-Woverloaded-virtual")
  353. KBUILD_WARN(0, CLANG_8, "-Wprivate-extern")
  354. KBUILD_WARN(0, CLANG_8, "-Wreorder")
  355. KBUILD_WARN(0, CLANG_8, "-Wreturn-type")
  356. KBUILD_WARN(0, CLANG_8, "-Wreturn-type-c-linkage")
  357. KBUILD_WARN(0, CLANG_8, "-Wself-assign")
  358. KBUILD_WARN(0, CLANG_8, "-Wself-assign-field")
  359. KBUILD_WARN(0, CLANG_8, "-Wself-assign-overloaded")
  360. KBUILD_WARN(0, CLANG_8, "-Wsizeof-array-argument")
  361. KBUILD_WARN(0, CLANG_8, "-Wsizeof-array-decay")
  362. KBUILD_WARN(0, CLANG_8, "-Wstring-plus-int")
  363. KBUILD_WARN(1, CLANG_8, "-Wtrigraphs") /* rare */
  364. KBUILD_WARN(0, CLANG_8, "-Wuninitialized")
  365. KBUILD_WARN(0, CLANG_8, "-Wsometimes-uninitialized")
  366. KBUILD_WARN(0, CLANG_8, "-Wstatic-self-init")
  367. KBUILD_WARN(0, CLANG_8, "-Wunknown-pragmas")
  368.  
  369. KBUILD_WARN(0, CLANG_8, "-Wuser-defined-warnings")
  370. KBUILD_WARN(0, CLANG_8, "-Wvolatile-register-var")
  371. KBUILD_WARN(0, CLANG_8, "-Wparentheses")
  372. KBUILD_WARN(0, CLANG_8, "-Wbitwise-op-parentheses")
  373. KBUILD_WARN(0, CLANG_8, "-Wdangling-else")
  374. KBUILD_WARN(0, CLANG_8, "-Wlogical-not-parentheses")
  375. KBUILD_WARN(0, CLANG_8, "-Wlogical-op-parentheses")
  376. KBUILD_WARN(0, CLANG_8, "-Woverloaded-shift-op-parentheses")
  377. KBUILD_WARN(0, CLANG_8, "-Wparentheses-equality")
  378. KBUILD_WARN(0, CLANG_8, "-Wshift-op-parentheses")
  379. KBUILD_WARN(0, CLANG_8, "-Wswitch")
  380. KBUILD_WARN(0, CLANG_8, "-Wswitch-bool")
  381.  
  382. /* printf format strings */
  383. KBUILD_WARN(0, GCC_4_6, "-Wformat=1")
  384. KBUILD_WARN(0, GCC_4_6, "-Wformat-contains-nul")
  385. KBUILD_WARN(0, GCC_4_6, "-Wformat-extra-args")
  386. KBUILD_WARN(2, GCC_4_6, "-Wformat-zero-length")
  387. KBUILD_WARN(1, GCC_7, "-Wformat-truncation=1")
  388. KBUILD_WARN(4, GCC_4_6, "-Wformat=2") /* huge */
  389. KBUILD_WARN(3, GCC_4_6, "-Wformat-nonliteral") /* medium */
  390. KBUILD_WARN(3, GCC_4_6, "-Wformat-security") /* medium */
  391. KBUILD_WARN(3, GCC_4_6, "-Wformat-y2k")
  392. KBUILD_WARN(3, GCC_5, "-Wformat-signedness")
  393. KBUILD_WARN(1, GCC_7, "-Wformat-overflow=1")
  394. KBUILD_WARN(3, GCC_7, "-Wformat-overflow=2") /* medium */
  395. KBUILD_WARN(4, GCC_7, "-Wformat-truncation=2")
  396. KBUILD_WARN(0, CLANG_8, "-Wformat")
  397. KBUILD_WARN(0, CLANG_8, "-Wformat-extra-args")
  398. KBUILD_WARN(1, CLANG_8, "-Wformat-invalid-specifier")
  399. KBUILD_WARN(1, CLANG_8, "-Wformat-security") /* medium */
  400. KBUILD_WARN(0, CLANG_8, "-Wformat-y2k")
  401. KBUILD_WARN(2, CLANG_8, "-Wformat-zero-length")
  402. KBUILD_WARN(0, CLANG_8, "-Wnonnull")
  403. KBUILD_WARN(3, CLANG_8, "-Wformat-non-iso") /* lots */
  404. KBUILD_WARN(4, CLANG_8, "-Wformat-pedantic") /* huge */
  405. KBUILD_WARN(3, CLANG_8, "-Wformat=2")
  406. KBUILD_WARN(3, CLANG_8, "-Wformat-nonliteral") /* medium */
  407.  
  408. /* -Wextra level, corresponds to W=1 */
  409. KBUILD_WARN(1, GCC_4_6, "-Wextra")
  410. KBUILD_WARN(2, GCC_4_6, "-Wsign-compare") /* huge */
  411. KBUILD_WARN(4, GCC_4_6, "-Wsign-compare") /* huge */
  412. KBUILD_WARN(1, GCC_4_6, "-Wclobbered") /* never */
  413. KBUILD_WARN(1, GCC_4_6, "-Wempty-body") /* medium */
  414. KBUILD_WARN(1, GCC_4_6, "-Wignored-qualifiers") /* rare */
  415. KBUILD_WARN(2, GCC_4_6, "-Wmissing-field-initializers") /* huge */
  416. KBUILD_WARN(4, GCC_4_6, "-Wmissing-field-initializers") /* huge */
  417. KBUILD_WARN(1, GCC_4_6, "-Wmissing-parameter-type") /* never */
  418. KBUILD_WARN(1, GCC_4_6, "-Wold-style-declaration") /* rare */
  419. KBUILD_WARN(1, GCC_4_6, "-Woverride-init") /* medium */
  420. KBUILD_WARN(1, GCC_4_6, "-Wtype-limits") /* medium */
  421. KBUILD_WARN(1, GCC_7, "-Wexpansion-to-defined") /* never */
  422. KBUILD_WARN(1, GCC_8, "-Wcast-function-type") /* never */
  423. KBUILD_WARN(0, GCC_7, "-Wimplicit-fallthrough=3") /* rare */
  424. KBUILD_WARN(4, GCC_7, "-Wimplicit-fallthrough=5") /* lots */
  425. KBUILD_WARN(1, CLANG_8, "-Wextra")
  426. KBUILD_WARN(1, CLANG_8, "-Wempty-init-stmt")
  427. KBUILD_WARN(partly, CLANG_8, "-Wignored-qualifiers") /* rare */
  428. KBUILD_WARN(2, CLANG_8, "-Wmissing-field-initializers") /* huge */
  429. KBUILD_WARN(1, CLANG_8, "-Wmissing-method-return-type")
  430. KBUILD_WARN(1, CLANG_8, "-Wnull-pointer-arithmetic") /* rare */
  431. KBUILD_WARN(1, CLANG_8, "-Wsemicolon-before-method-body")
  432. KBUILD_WARN(2, CLANG_8, "-Wsign-compare") /* huge */
  433. KBUILD_WARN(4, CLANG_8, "-Wsign-compare") /* huge */
  434.  
  435. /* Wunused and friends */
  436. KBUILD_WARN(partly, GCC_4_6, "-Wunused")
  437. KBUILD_WARN(0, GCC_4_6, "-Wunused-result")
  438. /*KBUILD_WARN(2, GCC_4_6, "-Wunused-macros") / lots */
  439. KBUILD_WARN(4, GCC_4_6, "-Wunused-macros") /* lots */
  440. KBUILD_WARN(1, GCC_4_6, "-Wunused-but-set-variable") /* medium */
  441. KBUILD_WARN(0, GCC_4_6, "-Wunused-function")
  442. KBUILD_WARN(0, GCC_4_6, "-Wunused-label")
  443. KBUILD_WARN(0, GCC_4_6, "-Wunused-value")
  444. KBUILD_WARN(0, GCC_4_6, "-Wunused-variable")
  445. KBUILD_WARN(0, GCC_4_7, "-Wunused-local-typedefs")
  446. KBUILD_WARN(1, GCC_4_6, "-Wunused-but-set-parameter") /* rare */
  447. KBUILD_WARN(4, GCC_4_6, "-Wunused-parameter") /* harmful */
  448.  
  449. KBUILD_WARN(2, GCC_6, "-Wunused-const-variable=1")
  450. KBUILD_WARN(4, GCC_6, "-Wunused-const-variable=2") /* lots */
  451. KBUILD_WARN(1, CLANG_8, "-Wunused")
  452. KBUILD_WARN(0, CLANG_8, "-Wunused-function")
  453. KBUILD_WARN(0, CLANG_8, "-Wunneeded-internal-declaration")
  454. KBUILD_WARN(0, CLANG_8, "-Wunused-label")
  455. KBUILD_WARN(0, CLANG_8, "-Wunused-lambda-capture")
  456. KBUILD_WARN(0, CLANG_8, "-Wunused-local-typedef")
  457. KBUILD_WARN(0, CLANG_8, "-Wunused-private-field")
  458. KBUILD_WARN(0, CLANG_8, "-Wunused-property-ivar")
  459. KBUILD_WARN(0, CLANG_8, "-Wunused-value")
  460. KBUILD_WARN(0, CLANG_8, "-Wunevaluated-expression")
  461. KBUILD_WARN(0, CLANG_8, "-Wpotentially-evaluated-expression")
  462. KBUILD_WARN(0, CLANG_8, "-Wunused-comparison")
  463. KBUILD_WARN(0, CLANG_8, "-Wunused-result")
  464. KBUILD_WARN(0, CLANG_8, "-Wunused-variable")
  465. KBUILD_WARN(1, CLANG_8, "-Wunused-const-variable") /* medium */
  466. KBUILD_WARN(4, CLANG_8, "-Wunused-parameter") /* harmful */
  467.  
  468. KBUILD_WARN(0, GCC_4_6, "-Wframe-larger-than=2048") /* FIXME */
  469. KBUILD_WARN(4, GCC_4_6, "-Wlarger-than=16384") /* huge */
  470. KBUILD_WARN(3, GCC_4_7, "-Wstack-usage=1024") /* medium */
  471. KBUILD_WARN(3, GCC_7, "-Walloc-size-larger-than=4096")
  472. KBUILD_WARN(0, GCC_4_6, "-Wvla")
  473. KBUILD_WARN(3, GCC_7, "-Wvla-larger-than=1") /* rare but useless */
  474.  
  475. KBUILD_WARN(partly, CLANG_8, "-Wdeprecated")
  476. KBUILD_WARN(0, CLANG_8, "-Wdeprecated-attributes")
  477. KBUILD_WARN(0, CLANG_8, "-Wdeprecated-declarations")
  478. KBUILD_WARN(3, CLANG_8, "-Wdeprecated-dynamic-exception-spec")
  479.  
  480. KBUILD_WARN(0, CLANG_8, "-Wtautological-compare")
  481. KBUILD_WARN(1, CLANG_8, "-Wtautological-constant-compare")
  482. KBUILD_WARN(1, CLANG_8, "-Wtautological-constant-out-of-range-compare") /* rare */
  483. KBUILD_WARN(3, CLANG_8, "-Wtautological-overlap-compare")
  484. KBUILD_WARN(1, CLANG_8, "-Wtautological-pointer-compare")
  485. KBUILD_WARN(1, CLANG_8, "-Wtautological-undefined-compare")
  486. KBUILD_WARN(3, CLANG_8, "-Wtautological-constant-in-range-compare")
  487. KBUILD_WARN(3, CLANG_8, "-Wtautological-type-limit-compare") /* medium */
  488. KBUILD_WARN(3, CLANG_8, "-Wtautological-unsigned-enum-zero-compare") /* rare */
  489. KBUILD_WARN(3, CLANG_8, "-Wtautological-unsigned-zero-compare") /* rare */
  490.  
  491. KBUILD_WARN(partly, CLANG_8, "-Wshadow-all")
  492. KBUILD_WARN(partly, CLANG_8, "-Wshadow")
  493. KBUILD_WARN(2, CLANG_8, "-Wshadow-field-in-constructor-modified")
  494. KBUILD_WARN(0, CLANG_8, "-Wshadow-ivar")
  495. KBUILD_WARN(2, CLANG_8, "-Wshadow-field")
  496. KBUILD_WARN(2, CLANG_8, "-Wshadow-field-in-constructor")
  497. KBUILD_WARN(2, CLANG_8, "-Wshadow-field-in-constructor-modified")
  498. KBUILD_WARN(2, CLANG_8, "-Wshadow-uncaptured-local")
  499.  
  500. KBUILD_WARN(partly, CLANG_8, "-Wpragmas")
  501. KBUILD_WARN(0, CLANG_8, "-Wignored-pragmas")
  502. KBUILD_WARN(0, CLANG_8, "-Wignored-pragma-intrinsic")
  503. KBUILD_WARN(0, CLANG_8, "-Wignored-pragma-optimize")
  504. KBUILD_WARN(0, CLANG_8, "-Wpragma-clang-attribute")
  505. KBUILD_WARN(partly, CLANG_8, "-Wpragma-pack")
  506. KBUILD_WARN(3, CLANG_8, "-Wpragma-pack-suspicious-include")
  507. KBUILD_WARN(0, CLANG_8, "-Wunknown-pragmas")
  508.  
  509. KBUILD_WARN(1, CLANG_8, "-Wgnu")
  510. KBUILD_WARN(1, CLANG_8, "-Wgnu-alignof-expression")
  511. KBUILD_WARN(3, CLANG_8, "-Wgnu-anonymous-struct")
  512. KBUILD_WARN(3, CLANG_8, "-Wgnu-auto-type")
  513. KBUILD_WARN(3, CLANG_8, "-Wgnu-binary-literal") /* medium */
  514. KBUILD_WARN(4, CLANG_8, "-Wgnu-case-range") /* harmful */
  515. KBUILD_WARN(3, CLANG_8, "-Wgnu-complex-integer")
  516. KBUILD_WARN(3, CLANG_8, "-Wgnu-compound-literal-initializer")
  517. KBUILD_WARN(4, CLANG_8, "-Wgnu-conditional-omitted-operand") /* harmful */
  518. KBUILD_WARN(1, CLANG_8, "-Wgnu-designator") /* harmful */
  519. KBUILD_WARN(4, CLANG_8, "-Wgnu-empty-initializer") /* harmful */
  520. KBUILD_WARN(4, CLANG_8, "-Wgnu-empty-struct") /* useless */
  521. KBUILD_WARN(3, CLANG_8, "-Wgnu-flexible-array-initializer") /* medium */
  522. KBUILD_WARN(3, CLANG_8, "-Wgnu-flexible-array-union-member")
  523. KBUILD_WARN(3, CLANG_8, "-Wgnu-folding-constant") /* huge, harmful */
  524. KBUILD_WARN(3, CLANG_8, "-Wgnu-imaginary-constant")
  525. KBUILD_WARN(3, CLANG_8, "-Wgnu-include-next")
  526. KBUILD_WARN(4, CLANG_8, "-Wgnu-label-as-value") /* harmful */
  527. KBUILD_WARN(4, CLANG_8, "-Wgnu-redeclared-enum") /* harmful */
  528. KBUILD_WARN(4, CLANG_8, "-Wgnu-statement-expression") /* harmful */
  529. KBUILD_WARN(1, CLANG_8, "-Wgnu-static-float-init")
  530. KBUILD_WARN(1, CLANG_8, "-Wgnu-string-literal-operator-template")
  531. KBUILD_WARN(3, CLANG_8, "-Wgnu-union-cast")
  532. KBUILD_WARN(1, CLANG_8, "-Wgnu-variable-sized-type-not-at-end") /* medium */
  533. KBUILD_WARN(3, CLANG_8, "-Wgnu-zero-line-directive")
  534. KBUILD_WARN(4, CLANG_8, "-Wgnu-zero-variadic-macro-arguments") /* excessive */
  535. KBUILD_WARN(3, CLANG_8, "-Wredeclared-class-member")
  536. KBUILD_WARN(3, CLANG_8, "-Wvla-extension")
  537. KBUILD_WARN(4, CLANG_8, "-Wzero-length-array") /* excessive */
  538.  
  539. KBUILD_WARN(partly, CLANG_8, "-Wnon-gcc")
  540. KBUILD_WARN(partly, CLANG_8, "-Wconversion")
  541. KBUILD_WARN(3, CLANG_8, "-Wbitfield-enum-conversion") /* rare */
  542. KBUILD_WARN(0, CLANG_8, "-Wbool-conversion")
  543. KBUILD_WARN(0, CLANG_8, "-Wundefined-bool-conversion")
  544. KBUILD_WARN(0, CLANG_8, "-Wconstant-conversion")
  545. KBUILD_WARN(0, CLANG_8, "-Wbitfield-constant-conversion")
  546. KBUILD_WARN(0, CLANG_8, "-Wenum-conversion")
  547. KBUILD_WARN(3, CLANG_8, "-Wfloat-conversion") /* lots */
  548. KBUILD_WARN(3, CLANG_8, "-Wfloat-overflow-conversion")
  549. KBUILD_WARN(3, CLANG_8, "-Wfloat-zero-conversion") /* rare */
  550. KBUILD_WARN(partly, CLANG_8, "-Wimplicit-float-conversion")
  551. KBUILD_WARN(4, CLANG_8, "-Wimplicit-int-conversion") /* huge */
  552. KBUILD_WARN(0, CLANG_8, "-Wint-conversion")
  553. KBUILD_WARN(0, CLANG_8, "-Wliteral-conversion")
  554. KBUILD_WARN(0, CLANG_8, "-Wnon-literal-null-conversion")
  555. KBUILD_WARN(0, CLANG_8, "-Wnull-conversion")
  556. KBUILD_WARN(4, CLANG_8, "-Wshorten-64-to-32") /* excessive */
  557. KBUILD_WARN(4, CLANG_8, "-Wsign-conversion") /* excessive */
  558. KBUILD_WARN(3, CLANG_8, "-Wstring-conversion")
  559. KBUILD_WARN(0, CLANG_8, "-Wliteral-range")
  560. //KBUILD_WARN(2, CLANG_8, "-Wsign-compare")
  561.  
  562. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft")
  563. KBUILD_WARN(0, CLANG_8, "-Winconsistent-dllimport")
  564. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-anon-tag")
  565. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-cast")
  566. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-charize")
  567. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-comment-paste")
  568. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-const-init")
  569. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-cpp-macro")
  570. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-default-arg-redefinition")
  571. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-end-of-file")
  572. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-enum-forward-reference")
  573. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-enum-value")
  574. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-exception-spec")
  575. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-explicit-constructor-call")
  576. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-extra-qualification")
  577. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-fixed-enum")
  578. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-flexible-array")
  579. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-goto")
  580. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-include")
  581. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-mutable-reference")
  582. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-pure-definition")
  583. KBUILD_WARN(3, CLANG_8, "-Wmicrosoft-redeclare-static")
  584. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-sealed")
  585. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-template")
  586. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-union-member-reference")
  587. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-unqualified-friend")
  588. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-using-decl")
  589. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-void-pseudo-dtor")
  590. KBUILD_WARN(0, CLANG_8, "-Wmicrosoft-inaccessible-base")
  591.  
  592. KBUILD_WARN(partly, CLANG_8, "-Wc99-compat")
  593. KBUILD_WARN(partly, CLANG_8, "-Wduplicate-decl-specifier")
  594. KBUILD_WARN(partly, CLANG_8, "-Wexpansion-to-defined")
  595. KBUILD_WARN(partly, CLANG_8, "-Winvalid-or-nonexistent-directory")
  596. KBUILD_WARN(partly, CLANG_8, "-Wnarrowing")
  597. KBUILD_WARN(partly, CLANG_8, "-Wunguarded-availability")
  598. KBUILD_WARN(partly, CLANG_8, "-Wpointer-arith")
  599. KBUILD_WARN(partly, CLANG_8, "-Wsource-uses-openmp")
  600. KBUILD_WARN(partly, CLANG_8, "-Wvariadic-macros")
  601. KBUILD_WARN(partly, CLANG_8, "-Wcuda-compat")
  602. KBUILD_WARN(partly, CLANG_8, "-Wmain")
  603. KBUILD_WARN(0, CLANG_8, "-Wstatic-in-inline")
  604.  
  605. /* Supported but disabled by default */
  606. KBUILD_WARN(3, GCC_4_6, "-Wabi") /* never */
  607. KBUILD_WARN(4, GCC_4_6, "-Waggregate-return") /* harmful */
  608. /* KBUILD_WARN(3, GCC_4_6, "-Wbad-function-cast") * excessive */
  609. /* KBUILD_WARN(2, GCC_4_6, "-Wcast-align") * huge */
  610. KBUILD_WARN(4, GCC_4_6, "-Wcast-align") /* huge */
  611. KBUILD_WARN(4, GCC_8, "-Wcast-align=strict") /* modifier */
  612. /* KBUILD_WARN(3, GCC_4_6, "-Wcast-qual") * excessive */
  613. KBUILD_WARN(4, GCC_4_6, "-Wc++-compat") /* excessive */
  614. KBUILD_WARN(4, GCC_4_6, "-Wconversion") /* excessive */
  615. KBUILD_WARN(2, GCC_4_6, "-Wdisabled-optimization") /* never */
  616. KBUILD_WARN(3, GCC_4_6, "-Wdouble-promotion") /* medium */
  617. KBUILD_WARN(3, GCC_4_6, "-Wfloat-equal") /* rare */
  618. KBUILD_WARN(3, GCC_4_6, "-Winit-self") /* medium */
  619. KBUILD_WARN(4, GCC_4_6, "-Winline") /* huge */
  620. KBUILD_WARN(3, GCC_4_6, "-Winvalid-pch") /* never */
  621. KBUILD_WARN(3, GCC_4_6, "-Wjump-misses-init") /* rare */
  622. KBUILD_WARN(2, GCC_4_6, "-Wlogical-op") /* rare */
  623. KBUILD_WARN(1, GCC_4_6, "-Wmissing-declarations") /* never */
  624. KBUILD_WARN(1, GCC_4_6, "-Wmissing-include-dirs") /* never */
  625. KBUILD_WARN(1, GCC_4_6, "-Wmissing-prototypes") /* medium */
  626. KBUILD_WARN(3, GCC_4_6, "-Wmultichar") /* never */
  627. /* KBUILD_WARN(2, GCC_4_6, "-Wnested-externs") / excessive */
  628. KBUILD_WARN(4, GCC_4_6, "-Wnested-externs") /* excessive */
  629. KBUILD_WARN(1, GCC_4_6, "-Wold-style-definition") /* rare */
  630. KBUILD_WARN(3, GCC_4_6, "-Woverlength-strings") /* medium, useless */
  631. KBUILD_WARN(4, GCC_4_6, "-Wpacked") /* huge */
  632. KBUILD_WARN(4, GCC_4_6, "-Wpadded") /* excessive */
  633. KBUILD_WARN(4, GCC_4_6, "-Wpointer-arith") /* excessive */
  634. KBUILD_WARN(4, GCC_4_6, "-Wredundant-decls") /* huge */
  635. KBUILD_WARN(2, GCC_4_6, "-Wshadow") /* huge ? */
  636. KBUILD_WARN(4, GCC_4_6, "-Wshadow") /* huge ? */
  637. KBUILD_WARN(4, GCC_4_6, "-Wsign-conversion") /* excessive */
  638. KBUILD_WARN(3, GCC_4_6, "-Wstack-protector") /* medium */
  639. KBUILD_WARN(0, GCC_4_6, "-Wstrict-prototypes")
  640. KBUILD_WARN(4, GCC_4_6, "-Wsuggest-attribute=const") /* lots */
  641. KBUILD_WARN(3, GCC_4_6, "-Wsuggest-attribute=noreturn") /* medium */
  642. KBUILD_WARN(4, GCC_4_6, "-Wsuggest-attribute=pure") /* lots */
  643. KBUILD_WARN(4, GCC_4_6, "-Wswitch-default") /* huge */
  644. KBUILD_WARN(4, GCC_4_6, "-Wswitch-enum") /* huge */
  645. KBUILD_WARN(3, GCC_4_6, "-Wsystem-headers") /* modifier */
  646. KBUILD_WARN(4, GCC_4_6, "-Wtraditional-conversion") /* harmful */
  647. KBUILD_WARN(4, GCC_4_6, "-Wtraditional") /* harmful */
  648. KBUILD_WARN(3, GCC_4_6, "-Wtrampolines") /* never */
  649. KBUILD_WARN(0, GCC_4_6, "-Wundef") /* rare */
  650. KBUILD_WARN(4, GCC_4_6, "-Wunsuffixed-float-constants") /* lots */
  651. KBUILD_WARN(3, GCC_4_6, "-Wvariadic-macros") /* never */
  652. KBUILD_WARN(3, GCC_4_6, "-Wwrite-strings") /* never */
  653. KBUILD_WARN(3, GCC_4_7, "-Wvector-operation-performance") /* rare */
  654. KBUILD_WARN(4, GCC_4_8, "-Wpedantic") /* harmful */
  655. KBUILD_WARN(3, GCC_4_8, "-Wsuggest-attribute=format") /* medium */
  656. KBUILD_WARN(3, GCC_4_9, "-Wdate-time") /* never */
  657. KBUILD_WARN(3, GCC_4_9, "-Wfloat-conversion") /* medium */
  658. KBUILD_WARN(3, GCC_5, "-Wsuggest-final-methods") /* never */
  659. KBUILD_WARN(3, GCC_5, "-Wsuggest-final-types") /* never */
  660. KBUILD_WARN(3, GCC_6, "-Wduplicated-cond") /* medium */
  661. KBUILD_WARN(3, GCC_6, "-Wnull-dereference") /* never */
  662. KBUILD_WARN(3, GCC_7, "-Walloca") /* never */
  663. KBUILD_WARN(3, GCC_7, "-Walloca-larger-than=1") /* never */
  664. KBUILD_WARN(3, GCC_7, "-Walloc-zero") /* never */
  665. KBUILD_WARN(3, GCC_7, "-Wduplicated-branches") /* medium */
  666. KBUILD_WARN(4, GCC_7, "-Wshadow=compatible-local")
  667. KBUILD_WARN(4, GCC_7, "-Wshadow=local") /* huge */
  668. KBUILD_WARN(4, GCC_8, "-Wsuggest-attribute=cold") /* lots */
  669. KBUILD_WARN(4, GCC_8, "-Wsuggest-attribute=malloc") /* lots */
  670. KBUILD_WARN(3, CLANG_8, "-Warray-bounds-pointer-arithmetic") /* rare */
  671. KBUILD_WARN(3, CLANG_8, "-Watomic-properties")
  672. KBUILD_WARN(3, CLANG_8, "-Wcustom-atomic-properties")
  673. KBUILD_WARN(3, CLANG_8, "-Wimplicit-atomic-properties")
  674. KBUILD_WARN(3, CLANG_8, "-Wauto-import")
  675. KBUILD_WARN(4, CLANG_8, "-Wbad-function-cast") /* excessive */
  676. KBUILD_WARN(3, CLANG_8, "-Wbinary-literal")
  677. KBUILD_WARN(3, CLANG_8, "-Wbitfield-width")
  678. KBUILD_WARN(4, CLANG_8, "-Wc11-extensions") /* harmful */
  679. KBUILD_WARN(2, CLANG_8, "-Wcast-align") /* huge */
  680. KBUILD_WARN(4, CLANG_8, "-Wcast-align") /* huge */
  681. KBUILD_WARN(4, CLANG_8, "-Wcast-qual") /* excessive */
  682. KBUILD_WARN(3, CLANG_8, "-Wconditional-uninitialized") /* huge */
  683. KBUILD_WARN(3, CLANG_8, "-Wconsumed")
  684. KBUILD_WARN(3, CLANG_8, "-Wcovered-switch-default") /* huge */
  685. KBUILD_WARN(3, CLANG_8, "-Wcstring-format-directive")
  686. KBUILD_WARN(4, CLANG_8, "-Wdocumentation") /* huge */
  687. KBUILD_WARN(3, CLANG_8, "-Wdocumentation-deprecated-sync")
  688. KBUILD_WARN(3, CLANG_8, "-Wdocumentation-html")
  689. KBUILD_WARN(3, CLANG_8, "-Wdocumentation-pedantic")
  690. KBUILD_WARN(4, CLANG_8, "-Wdocumentation-unknown-command") /* excessive */
  691. KBUILD_WARN(3, CLANG_8, "-Wdouble-promotion") /* rare */
  692. KBUILD_WARN(3, CLANG_8, "-Wduplicate-method-arg")
  693. KBUILD_WARN(3, CLANG_8, "-Wduplicate-method-match")
  694. KBUILD_WARN(3, CLANG_8, "-Wexit-time-destructors")
  695. KBUILD_WARN(4, CLANG_8, "-Wextra-semi") /* excessive */
  696. KBUILD_WARN(3, CLANG_8, "-Wextra-semi-stmt") /* excessive */
  697. KBUILD_WARN(3, CLANG_8, "-Wfour-char-constants")
  698. KBUILD_WARN(3, CLANG_8, "-Wframe-larger-than=1024")
  699. KBUILD_WARN(3, CLANG_8, "-Wheader-hygiene")
  700. KBUILD_WARN(3, CLANG_8, "-Wimplicit-fallthrough")
  701. KBUILD_WARN(3, CLANG_8, "-Wimplicit-fallthrough-per-function")
  702. KBUILD_WARN(3, CLANG_8, "-Winconsistent-missing-destructor-override")
  703. KBUILD_WARN(3, CLANG_8, "-Wkeyword-macro")
  704. KBUILD_WARN(4, CLANG_8, "-Wlong-long") /* harmful */
  705. KBUILD_WARN(3, CLANG_8, "-Wloop-analysis")
  706. KBUILD_WARN(3, CLANG_8, "-Wrange-loop-analysis")
  707. KBUILD_WARN(3, CLANG_8, "-Wmethod-signatures")
  708. KBUILD_WARN(3, CLANG_8, "-Wmissing-noescape")
  709. KBUILD_WARN(3, CLANG_8, "-Wmodule-build")
  710. KBUILD_WARN(3, CLANG_8, "-Wnullable-to-nonnull-conversion")
  711. KBUILD_WARN(3, CLANG_8, "-Wover-aligned")
  712. KBUILD_WARN(3, CLANG_8, "-Woverlength-strings") /* huge, useless */
  713. KBUILD_WARN(3, CLANG_8, "-Woverriding-method-mismatch")
  714. KBUILD_WARN(4, CLANG_8, "-Wpacked") /* huge */
  715. KBUILD_WARN(4, CLANG_8, "-Wpadded") /* excessive */
  716. KBUILD_WARN(3, CLANG_8, "-Wpass")
  717. KBUILD_WARN(3, CLANG_8, "-Wpass-analysis")
  718. KBUILD_WARN(3, CLANG_8, "-Wprofile-instr-missing")
  719. KBUILD_WARN(3, CLANG_8, "-Wquoted-include-in-framework-header")
  720. KBUILD_WARN(4, CLANG_8, "-Wreserved-id-macro") /* excessive */
  721. KBUILD_WARN(3, CLANG_8, "-Wsanitize-address")
  722. KBUILD_WARN(3, CLANG_8, "-Wsection")
  723. KBUILD_WARN(3, CLANG_8, "-Wselector")
  724. KBUILD_WARN(3, CLANG_8, "-Wselector-type-mismatch")
  725. KBUILD_WARN(3, CLANG_8, "-Wsigned-enum-bitfield")
  726. KBUILD_WARN(3, CLANG_8, "-Wspir-compat")
  727. KBUILD_WARN(3, CLANG_8, "-Wstrict-selector-match")
  728. KBUILD_WARN(3, CLANG_8, "-Wswitch-enum") /* huge */
  729. KBUILD_WARN(3, CLANG_8, "-Wthread-safety")
  730. KBUILD_WARN(3, CLANG_8, "-Wthread-safety-analysis")
  731. KBUILD_WARN(3, CLANG_8, "-Wthread-safety-attributes")
  732. KBUILD_WARN(3, CLANG_8, "-Wthread-safety-precise")
  733. KBUILD_WARN(3, CLANG_8, "-Wthread-safety-reference")
  734. KBUILD_WARN(3, CLANG_8, "-Wthread-safety-beta")
  735. KBUILD_WARN(3, CLANG_8, "-Wthread-safety-negative")
  736. KBUILD_WARN(3, CLANG_8, "-Wthread-safety-verbose")
  737. KBUILD_WARN(3, CLANG_8, "-Wundeclared-selector")
  738. KBUILD_WARN(3, CLANG_8, "-Wunreachable-code-aggressive")
  739. KBUILD_WARN(3, CLANG_8, "-Wunreachable-code")
  740. KBUILD_WARN(3, CLANG_8, "-Wunreachable-code-loop-increment")
  741. KBUILD_WARN(3, CLANG_8, "-Wunreachable-code-break")
  742. KBUILD_WARN(3, CLANG_8, "-Wunreachable-code-return")
  743. KBUILD_WARN(3, CLANG_8, "-Wunused-exception-parameter")
  744. KBUILD_WARN(3, CLANG_8, "-Wunused-local-typedef")
  745. KBUILD_WARN(4, CLANG_8, "-Wused-but-marked-unused") /* huge */
  746. KBUILD_WARN(3, CLANG_8, "-Wvector-conversion")
  747. KBUILD_WARN(0, CLANG_8, "-Wvla")
  748.  
  749. /* Ignored by clang, only listed for reference */
  750. KBUILD_WARN(3, CLANG_8, "-Wabi")
  751. KBUILD_WARN(3, CLANG_8, "-Waggregate-return")
  752. KBUILD_WARN(3, CLANG_8, "-Wat-protocol")
  753. KBUILD_WARN(3, CLANG_8, "-Wchar-align")
  754. KBUILD_WARN(3, CLANG_8, "-Wctor-dtor-privacy")
  755. KBUILD_WARN(3, CLANG_8, "-Wdisabled-optimization")
  756. KBUILD_WARN(3, CLANG_8, "-Wdiscard-qual")
  757. KBUILD_WARN(3, CLANG_8, "-Wfuture-compat")
  758. KBUILD_WARN(3, CLANG_8, "-Wimport")
  759. KBUILD_WARN(3, CLANG_8, "-Winit-self")
  760. KBUILD_WARN(3, CLANG_8, "-Winline")
  761. KBUILD_WARN(3, CLANG_8, "-Winvalid-pch")
  762. KBUILD_WARN(3, CLANG_8, "-Wliblto")
  763. KBUILD_WARN(3, CLANG_8, "-Wmissing-format-attribute")
  764. KBUILD_WARN(3, CLANG_8, "-Wmissing-include-dirs")
  765. KBUILD_WARN(3, CLANG_8, "-Wnested-externs")
  766. KBUILD_WARN(3, CLANG_8, "-Wnonportable-cfstrings")
  767. KBUILD_WARN(3, CLANG_8, "-Wold-style-definition")
  768. KBUILD_WARN(3, CLANG_8, "-Woverflow")
  769. KBUILD_WARN(3, CLANG_8, "-Wpointer-to-int-cast")
  770. KBUILD_WARN(3, CLANG_8, "-Wredundant-decls")
  771. KBUILD_WARN(3, CLANG_8, "-Wsign-promo")
  772. KBUILD_WARN(3, CLANG_8, "-Wstack-protector")
  773. KBUILD_WARN(3, CLANG_8, "-Wstrict-aliasing")
  774. KBUILD_WARN(3, CLANG_8, "-Wstrict-aliasing=0")
  775. KBUILD_WARN(3, CLANG_8, "-Wstrict-aliasing=1")
  776. KBUILD_WARN(3, CLANG_8, "-Wstrict-aliasing=2")
  777. KBUILD_WARN(3, CLANG_8, "-Wstrict-overflow")
  778. KBUILD_WARN(3, CLANG_8, "-Wstrict-overflow=0")
  779. KBUILD_WARN(3, CLANG_8, "-Wstrict-overflow=1")
  780. KBUILD_WARN(3, CLANG_8, "-Wstrict-overflow=2")
  781. KBUILD_WARN(3, CLANG_8, "-Wstrict-overflow=3")
  782. KBUILD_WARN(3, CLANG_8, "-Wstrict-overflow=4")
  783. KBUILD_WARN(3, CLANG_8, "-Wstrict-overflow=5")
  784. KBUILD_WARN(3, CLANG_8, "-Wstrict-prototypes")
  785. KBUILD_WARN(3, CLANG_8, "-Wswitch-default")
  786. KBUILD_WARN(3, CLANG_8, "-Wsynth")
  787. KBUILD_WARN(3, CLANG_8, "-Wunused-argument")
  788. KBUILD_WARN(3, CLANG_8, "-Wtype-limits") /* medium */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement