Thread (18 messages) 18 messages, 9 authors, 2021-08-25

Re: [PATCH] kbuild: Enable -Wimplicit-fallthrough for clang 14.0.0+

From: Nathan Chancellor <nathan@kernel.org>
Date: 2021-08-17 04:55:34
Also in: lkml

On 8/16/2021 9:37 PM, Linus Torvalds wrote:
On Mon, Aug 16, 2021 at 6:20 PM Nathan Chancellor [off-list ref] wrote:
quoted
Additionally, there should be some time for the CI systems to update
their clang-14 builds, as the recent 0day report shows.
What?

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 
release branches.
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.

Cheers,
Nathan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help