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.

Reply via email to