Ideally, a kernel compile with W=1 enabled should complete cleanly; however, when we run one currently we are presented with ~25k warnings. 'sign-compare' accounts for ~22k of those ~25k. In this patch we're demoting 'sign-compare' warnings to W=2, with a view to fixing the remaining 3k W=1 warnings required for a clean build. Arnd adds: "As per our discussion, I'd add that this was inadvertedly introduced by Behan when he moved the clang specific warnings into an ifdef block and did not notice that -Wsign-compare was interpreted by both gcc and clang. Earlier, it was introduced in just the same way by Jan-Simon as part of 3d3d6b847420 ("kbuild: LLVMLinux: Adapt warnings for compilation with clang")."
Unified · Split
| @@ -25,6 +25,7 @@ warning-1 += -Wold-style-definition · 24 unmodified lines | ||
| 25 | 25 | warning-1 += $(call cc-option, -Wmissing-include-dirs) |
| 26 | 26 | warning-1 += $(call cc-option, -Wunused-but-set-variable) |
| 27 | 27 | warning-1 += $(call cc-disable-warning, missing-field-initializers) |
| 28 | +warning-1 += $(call cc-disable-warning, sign-compare) | |
| 28 | 29 | |
| 29 | 30 | warning-2 := -Waggregate-return |
| 30 | 31 | warning-2 += -Wcast-align |
| @@ -33,6 +34,7 @@ warning-2 += -Wnested-externs · 2 unmodified lines | ||
| 33 | 34 | warning-2 += -Wshadow |
| 34 | 35 | warning-2 += $(call cc-option, -Wlogical-op) |
| 35 | 36 | warning-2 += $(call cc-option, -Wmissing-field-initializers) |
| 37 | +warning-2 += $(call cc-option, -Wsign-compare) | |
| 36 | 38 | |
| 37 | 39 | warning-3 := -Wbad-function-cast |
| 38 | 40 | warning-3 += -Wcast-qual |