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>
This commit is contained in:
Родитель
e6abef610c
Коммит
afe956c577
2
Makefile
2
Makefile
|
@ -747,8 +747,6 @@ ifdef CONFIG_CC_IS_CLANG
|
||||||
KBUILD_CPPFLAGS += -Qunused-arguments
|
KBUILD_CPPFLAGS += -Qunused-arguments
|
||||||
KBUILD_CFLAGS += -Wno-format-invalid-specifier
|
KBUILD_CFLAGS += -Wno-format-invalid-specifier
|
||||||
KBUILD_CFLAGS += -Wno-gnu
|
KBUILD_CFLAGS += -Wno-gnu
|
||||||
# Quiet clang warning: comparison of unsigned expression < 0 is always false
|
|
||||||
KBUILD_CFLAGS += -Wno-tautological-compare
|
|
||||||
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
|
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
|
||||||
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
|
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
|
||||||
# See modpost pattern 2
|
# See modpost pattern 2
|
||||||
|
|
|
@ -49,6 +49,7 @@ KBUILD_CFLAGS += -Wno-format
|
||||||
KBUILD_CFLAGS += -Wno-sign-compare
|
KBUILD_CFLAGS += -Wno-sign-compare
|
||||||
KBUILD_CFLAGS += -Wno-format-zero-length
|
KBUILD_CFLAGS += -Wno-format-zero-length
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast)
|
KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast)
|
||||||
|
KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
Загрузка…
Ссылка в новой задаче