Sam James <[email protected]> writes: > Paul Eggert <[email protected]> writes: > >> On 2025-11-06 09:59, Sam James wrote: >>> With GCC trunk (built today) on x86_64-pc-linux-gnu, everything passes >>> with 9.8, but with this snapshot, I see one failure in the gnulib suite: >>> FAIL: test-stdcountof-h >> >> Can you reproduce this with just Gnulib? E.g., take the attached >> tarball, which I generated from Gnulib with './gnulib-tool >> --create-testdir --dir gnulib-test-stdcountof-h stdcountof-h', and >> run: >> >> tar xf gnulib-test-stdcountof-h.tgz >> ./configure >> make check >> >> I just now tried this and it worked for me on Fedora 42 x86-64 with >> gcc 15.2.1 20251022 (Red Hat 15.2.1-3); if it's failing with GCC trunk >> it'd be interesting to see why. > > That indeed fails, and it passes if I use GCC 15: > > Good: gcc version 15.2.1 20251101 (Gentoo Hardened 15.2.1_p20251101 p1) > Bad: gcc version 16.0.0 20251106 (experimental) > 1139d69306d67aeeb0ee13a8d2a367933afda8e4 (Gentoo Hardened 16.0.9999 p, commit > e79963c291a5666ef91c5b048db5993960266b36) > > I'll bisect GCC.
Having actually looked at it, it's now obvious. GCC trunk implements _Countof (PR117025). And indeed, diffing a builddir w/ 15 vs trunk: /* Define to 1 if you have the <stdcountof.h> header file. */ -/* #undef HAVE_STDCOUNTOF_H */ +#define HAVE_STDCOUNTOF_H 1 --- gnulib-test-stdcountof-h-gcc15/gllib/stdcountof.h 2025-11-06 23:51:33.925338704 +0000 +++ gnulib-test-stdcountof-h/gllib/stdcountof.h 2025-11-06 23:52:40.133065974 +0000 @@ -24,7 +24,7 @@ /* The include_next requires a split double-inclusion guard. */ -#if (defined __cplusplus ? 0 : 0) +#if (defined __cplusplus ? 0 : 1) # include_next <stdcountof.h> #else .. and that module wasn't in the last coreutils release.
