Re: [PATCH] kbuild: Enable -Wimplicit-fallthrough for clang 14.0.0+
From: Nathan Chancellor
Date: Tue Aug 17 2021 - 00:55:35 EST
On 8/16/2021 9:37 PM, Linus Torvalds wrote:
On Mon, Aug 16, 2021 at 6:20 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
Additionally, there should be some time for the CI systems to update
their clang-14 builds, as the recent 0day report shows.
No, the 0day report shows that the patch is buggy, and that the
ifeq ($(shell test $(CONFIG_CLANG_VERSION) -ge 140000; echo $$?),0)
clearly doesn't work at all, since the flag is enabled on those
systems with old clang versions.
Alternatively, the test works, but the 140000 version is not enough.
So technically speaking, the 140000 is not enough at this very moment
for the fact that there are certain systems that test with clang-14
builds that do not have my clang patch in it yet; however, those systems
do update clang regularly (the 0day version is just seven hours old at
the time of writing this) so they will have a version that contains my
patch shortly, making the check work just fine. We have done this in the
past with checks that are gated on clang versions that are in
development, with the expectation that if someone is using a development
release of clang, they are keeping it up to date so that they get fixes
that we push there; otherwise, it is just better to stick with the
So no. This patch is simply completely wrong, and doesn't fix the
problem with Clang's buggy -Wimplicit-fallthrough flag.
If you/Gustavo would prefer, I can upgrade that check to
ifneq ($(call cc-option, -Wunreachable-code-fallthrough),)
I was just trying to save a call to the compiler, as that is more
expensive than a shell test call.