kbuild: Enable -Wtautological-compare
authorNathan Chancellor <natechancellor@gmail.com>
Thu, 26 Mar 2020 19:41:55 +0000 (12:41 -0700)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 8 Apr 2020 15:13:45 +0000 (00:13 +0900)
commitafe956c577b2d5a3d9834e4424587c1ebcf90c4c
treede9cf59d76030d40ef74194702dbaa1ca95897fe
parente6abef610c7363cbd25205674b962031ef3bc790
kbuild: Enable -Wtautological-compare

Currently, we disable -Wtautological-compare, which in turn disables a
bunch of more specific tautological comparison warnings that are useful
for the kernel such as -Wtautological-bitwise-compare. See clang's
documentation below for the other warnings that are suppressed by
-Wtautological-compare. Now that all of the major/noisy warnings have
been fixed, enable -Wtautological-compare so that more issues can be
caught at build time by various continuous integration setups.

-Wtautological-constant-out-of-range-compare is kept disabled under a
normal build but visible at W=1 because there are places in the kernel
where a constant or variable size can change based on the kernel
configuration. These are not fixed in a clean/concise way and the ones
I have audited so far appear to be harmless. It is not a subgroup but
rather just one warning so we do not lose out on much coverage by
default.

Link: https://github.com/ClangBuiltLinux/linux/issues/488
Link: http://releases.llvm.org/10.0.0/tools/clang/docs/DiagnosticsReference.html#wtautological-compare
Link: https://bugs.llvm.org/show_bug.cgi?id=42666
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile
scripts/Makefile.extrawarn