Makefile.extrawarn: move -Wcast-align to W=3
authorArnd Bergmann <arnd@arndb.de>
Mon, 26 Oct 2020 22:03:13 +0000 (23:03 +0100)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 24 Nov 2020 18:36:10 +0000 (03:36 +0900)
commit095fbca0a94930b58f977284ef1b759b98700f8b
tree5d14193f8af5a9e4a95f8c6b921a00087ae5380c
parent418baf2c28f3473039f2f7377760bd8f6897ae18
Makefile.extrawarn: move -Wcast-align to W=3

This warning behaves differently depending on the architecture
and compiler. Using x86 gcc, we get no output at all because
gcc knows the architecture can handle unaligned accesses.

Using x86 clang, or gcc on an architecture that needs to
manually deal with unaligned accesses, the build log is
completely flooded with these warnings, as they are commonly
invoked by inline functions of networking headers, e.g.

include/linux/skbuff.h:1426:26: warning: cast increases required alignment of target type [-Wcast-align]

The compiler is correct to point this out, as we are dealing
with undefined behavior that does cause problems in practice,
but there is also no good way to rewrite the code in commonly
included headers to a safer method.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/Makefile.extrawarn