[PATCH] [v2] Kbuild: move to -std=gnu11

Arnd Bergmann arnd at kernel.org
Mon Feb 28 03:57:55 PST 2022


On Mon, Feb 28, 2022 at 12:47 PM Marco Elver <elver at google.com> wrote:
> On Mon, 28 Feb 2022 at 11:32, Arnd Bergmann <arnd at kernel.org> wrote:
>
> > Nathan Chancellor reported an additional -Wdeclaration-after-statement
> > warning that appears in a system header on arm, this still needs a
> > workaround.
>
> On the topic of Wdeclaration-after-statement, Clang only respects this
> warning with C99 and later starting with Clang 14:
> https://github.com/llvm/llvm-project/commit/c65186c89f35#diff-ec770381d76c859f5f572db789175fe44410a72608f58ad5dbb14335ba56eb97R61
>
> Until Clang 14, -Wdeclaration-after-statement is ignored by Clang in
> newer standards. If this is a big problem, we can probably convince
> the Clang stable folks to backport the fixes. However, the build won't
> fail, folks might just miss the warning if they don't also test with
> GCC.

I don't expect this is to be a big issue, as long as the latest clang behaves
as expected. There are many warnings that are only produced by one of the
two compilers, so this is something we already deal with.

I think it's more important to address the extra warning that Nathan
reported, where clang now complains about the intermingled declaration
in a system header when previously neither gcc nor clang noticed this.

> > The differences between gnu99, gnu11, gnu1x and gnu17 are fairly
> > minimal and mainly impact warnings at the -Wpedantic level that the
> > kernel never enables. Between these, gnu11 is the newest version
> > that is supported by all supported compiler versions, though it is
> > only the default on gcc-5, while all other supported versions of
> > gcc or clang default to gnu1x/gnu17.
> >
> > Link: https://lore.kernel.org/lkml/CAHk-=wiyCH7xeHcmiFJ-YgXUy2Jaj7pnkdKpcovt8fYbVFW3TA@mail.gmail.com/
> > Link: https://github.com/ClangBuiltLinux/linux/issues/1603
> > Suggested-by: Linus Torvalds <torvalds at linux-foundation.org>
> > Cc: Masahiro Yamada <masahiroy at kernel.org>
> > Cc: linux-kbuild at vger.kernel.org
> > Cc: llvm at lists.linux.dev
> > Signed-off-by: Arnd Bergmann <arnd at arndb.de>
>
> Acked-by: Marco Elver <elver at google.com>

Thanks,

         Arnd



More information about the linux-arm-kernel mailing list