Hi Berny, Bernhard Voelker wrote in <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>: > Newer GCC complains about this test: > > $ make test-getgroups.o V=1 > depbase=`echo test-getgroups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ > gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -DIN_FINDUTILS_GNULIB_TESTS=1 > -I. -I. -I.. -I./.. -I../gl/lib -I./.. \ > /gl/lib -g -O2 -MT test-getgroups.o -MD -MP -MF $depbase.Tpo -c -o > test-getgroups.o test-getgroups.c &&\ > mv -f $depbase.Tpo $depbase.Po > In file included from test-getgroups.c:31: > test-getgroups.c: In function 'main': > test-getgroups.c:65:11: warning: argument 1 value -1 is negative > [-Wstringop-overflow=] > 65 | ASSERT (getgroups (-1, NULL) == -1); > | ^~~~~~~~~~~~~~~~~~~~
I can't reproduce this with a testdir created through ./gnulib-tool --create-testdir --dir=... --single-configure getgroups and GCC 10.2.0, even with '-Wall' (whereas the GCC invocation that you show does not invoke any warning options!): $ gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -DIN_GNULIB_TESTS=1 -I. -I. -I.. -I./.. -I../gllib -I./../gllib -g -O2 -c test-getgroups.c -Wall (no diagnostics) Also, it's strange that this warning reports to come from -Wstringop-overflow — whereas 'getgroups' is not a string operation. So, to me it looks like a bug in the particular GCC version that you are using. Under regular circumstances, I would consider adding a #pragma GCC diagnostic, as you suggest, but not under these circumstances. Bruno