Re: [PATCH] Drop -Wdeclaration-after-statement
From: Andrew Morton
Date: Mon Mar 11 2019 - 20:38:49 EST
On Sun, 10 Mar 2019 16:35:35 +0300 Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
> Newly added static_assert() is formally a declaration, which will give
> a warning if used in the middle of the function.
>
> ...
>
> --- a/Makefile
> +++ b/Makefile
> @@ -792,9 +792,6 @@ endif
> # arch Makefile may override CC so keep this after arch Makefile is included
> NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
>
> -# warn about C99 declaration after statement
> -KBUILD_CFLAGS += -Wdeclaration-after-statement
> -
> # Variable Length Arrays (VLAs) should not be used anywhere in the kernel
> KBUILD_CFLAGS += $(call cc-option,-Wvla)
I do wish your changelogs were more elaborate :(
So the proposal is to disable -Wdeclaration-after-statement in all
cases for all time because static_assert() doesn't work correctly?
Surely there's something we can do to squish the static_assert() issue
while retaining -Wdeclaration-after-statement? Perhaps by making
static_assert() a nop if -Wdeclaration-after-statement is in use.
Perhaps simply by putting { } around the static_assert()?