kbuild: make -Woverride-init warnings more consistent
authorArnd Bergmann <arnd@arndb.de>
Tue, 26 Mar 2024 14:47:16 +0000 (15:47 +0100)
committerMasahiro Yamada <masahiroy@kernel.org>
Sun, 31 Mar 2024 02:32:26 +0000 (11:32 +0900)
commitc40845e3195d074b34f8f8e400e28c9403a06588
tree23a2c76dece034eae669a8e977e80c6945305ed8
parent1102f9f85bf66b1a7bd6a40afb40efbbe05dfc05
kbuild: make -Woverride-init warnings more consistent

The -Woverride-init warn about code that may be intentional or not,
but the inintentional ones tend to be real bugs, so there is a bit of
disagreement on whether this warning option should be enabled by default
and we have multiple settings in scripts/Makefile.extrawarn as well as
individual subsystems.

Older versions of clang only supported -Wno-initializer-overrides with
the same meaning as gcc's -Woverride-init, though all supported versions
now work with both. Because of this difference, an earlier cleanup of
mine accidentally turned the clang warning off for W=1 builds and only
left it on for W=2, while it's still enabled for gcc with W=1.

There is also one driver that only turns the warning off for newer
versions of gcc but not other compilers, and some but not all the
Makefiles still use a cc-disable-warning conditional that is no
longer needed with supported compilers here.

Address all of the above by removing the special cases for clang
and always turning the warning off unconditionally where it got
in the way, using the syntax that is supported by both compilers.

Fixes: 2cd3271b7a31 ("kbuild: avoid duplicate warning options")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
13 files changed:
drivers/gpu/drm/amd/display/dc/dce110/Makefile
drivers/gpu/drm/amd/display/dc/dce112/Makefile
drivers/gpu/drm/amd/display/dc/dce120/Makefile
drivers/gpu/drm/amd/display/dc/dce60/Makefile
drivers/gpu/drm/amd/display/dc/dce80/Makefile
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/xe/Makefile
drivers/net/ethernet/renesas/sh_eth.c
drivers/pinctrl/aspeed/Makefile
fs/proc/Makefile
kernel/bpf/Makefile
mm/Makefile
scripts/Makefile.extrawarn