Makefile: Enable -Wimplicit-fallthrough for Clang
With the recent fixes for fallthrough warnings, it is now possible to
enable -Wimplicit-fallthrough for Clang.
Special thanks to Nathan Chancellor who fixed the Clang bug[1][2]
that put the application of this patch to a halt, temporarily. This
bugfix only appears in Clang 14.0.0, so older versions still contain
the bug and -Wimplicit-fallthrough won't be enabled for them, for
now.
As Masahiro noted, the "ifeq" conditional "will break when Clang
version 100.0.0 is released. But, before that, we will raise the
minimum supported clang version, and this conditional will go away."[3]
This concludes a long journey and now we are finally getting rid
of the unintentional fallthrough bug-class in the kernel, entirely.
[1] https://github.com/llvm/llvm-project/commit/
9ed4a94d6451046a51ef393cd62f00710820a7e8
[2] https://bugs.llvm.org/show_bug.cgi?id=51094
[3] https://lore.kernel.org/lkml/CAK7LNAQFgYgavTP2ZG9Y16XBVdPuJ98J_Ty1OrQy1GXHq6JjQQ@mail.gmail.com/
Link: https://github.com/KSPP/linux/issues/115
Link: https://github.com/ClangBuiltLinux/linux/issues/236
["firstword" and "sort" was idea of Masahiro]
Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
[The conditional "ifeq" was idea of Nathan]
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Co-developed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>