On Mon, May 27, 2024 at 02:36:41PM -0700, John Hubbard wrote: > When building with clang, via: > > make LLVM=1 -C tools/testing/selftest > > ...clang warns that "a variable sized type not at the end of a struct or > class is a GNU extension". > > These cases are not easily changed, because they involve structs that > are part of the API. Fortunately, however, the tests seem to be doing > just fine (specifically, neither affected test runs any differently with > gcc vs. clang builds, on my test system) regardless of the warning. So, > all the warning is doing is preventing a clean build of selftests/net. > > Fix this by suppressing this particular clang warning for the > selftests/net suite. > > Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx> > --- > > Changes since the first version: > > 1) Rebased onto Linux 6.10-rc1 > > thanks, > John Hubbard > > > tools/testing/selftests/net/Makefile | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/tools/testing/selftests/net/Makefile b/tools/testing/selftests/net/Makefile > index bd01e4a0be2c..9a3b766c8781 100644 > --- a/tools/testing/selftests/net/Makefile > +++ b/tools/testing/selftests/net/Makefile > @@ -6,6 +6,10 @@ CFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES) > # Additional include paths needed by kselftest.h > CFLAGS += -I../ > > +ifneq ($(LLVM),) > + CFLAGS += -Wno-gnu-variable-sized-type-not-at-end For what it's worth, the main kernel has -Wno-gnu because there is little point in warning about the use of GNU extensions when building with '-std=gnu...'. It may be worth doing this anywhere that uses a GNU standard in the selftests but I guess it depends on how noisy things are. > +endif > + > TEST_PROGS := run_netsocktests run_afpackettests test_bpf.sh netdevice.sh \ > rtnetlink.sh xfrm_policy.sh test_blackhole_dev.sh > TEST_PROGS += fib_tests.sh fib-onlink-tests.sh pmtu.sh udpgso.sh ip_defrag.sh > > base-commit: 2bfcfd584ff5ccc8bb7acde19b42570414bf880b > -- > 2.45.1 > >