Testing https://www.pixelbeat.org/co/coreutils-ss.tar.xz on solaris 11 (cfarm216.cfarm.net) I get a build failure (with gcc 14) due to an already known issue on solaris where it defines a two param static_assert() macro.
CC lib/libcoreutils_a-xfts.o ./lib/dirent.h:100:36: error: macro "static_assert" requires 2 arguments, but only 1 given /usr/include/assert.h:25:9: note: macro "static_assert" defined here | #if (__STDC_VERSION__ - 0 >= 201112L) && !defined(__cplusplus) 25 | #define static_assert(a, b) _Static_assert(a, b) | ^~~~~~~~~~~~~ | #endif Note gcc 14 is on this system and causes the conflict avoidance to be bypassed. Also the static_assert keyword is supported and so HAVE_C_STATIC_ASSERT is defined, with would otherwise cause the conflict avoidance to be bypassed. I.e. the conflict avoidance used in m4/assert_h.m4 (from commit 0814a293a4). If I unconditionally use the conflict avoidance with this then coreutils compiles fine: diff --git a/m4/assert_h.m4 b/m4/assert_h.m4 index 91f446e7f6..5692be028e 100644 --- a/m4/assert_h.m4 +++ b/m4/assert_h.m4 @@ -61,7 +61,7 @@ AC_DEFUN([gl_ASSERT_H], dnl Break the #undef_s apart with a comment so that 'configure' does dnl not comment them out. AH_VERBATIM([zzstatic_assert], -[#if (!(defined __clang__ \ +[#if (1 || !(defined __clang__ \ I'm not sure how to best address this though given all the other conditions around the conflict avoidance logic. BTW I see a similar report at https://github.com/coreutils/gnulib/pull/16 where wget-1.25.0 is failing to compile similarly on (Centos7.9/Amd64/glibc-2.17/gcc-14.1) Note this is also gcc 14, but the conflict is with the internal _Static_assert() macro. cheers, Pádraig