Build failure with GCC 15 (defaults to -std=gnu23)

dkm at kataplop.net dkm at kataplop.net
Tue Feb 4 14:51:05 CET 2025


>  The relevant snippet from config.log is as follows:
>  """
>  configure:6585: cc -O2 -pedantic -fomit-frame-pointer  conftest.c >&5
>  conftest.c: In function 'f':
>  conftest.c:12:48: error: too many arguments to function 'g'
>     12 | for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
>        |                                                ^
>  conftest.c:7:6: note: declared here
>      7 | void g(){}
>        |      ^
>  configure:6588: $? = 1
>  failed program was:
>  /* The following provokes a segfault in the compiler on powerpc-apple-darwin.
>     Extracted from tests/mpn/t-iord_u.c.  Causes Apple's gcc 3.3 build 1640 and
>     1666 to segfault with e.g., -O2 -mpowerpc64.  */
>   
>  #if defined (__GNUC__) && ! defined (__cplusplus)
>  typedef unsigned long long t1;typedef t1*t2;
>  void g(){}
>  void h(){}
>  static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0)
>  {t1 c,x,r;int i;if(v0){c=1;for(i=1;i<n;i++){x=up[i];r=x+1;rp[i]=r;}}return c;}
>  void f(){static const struct{t1 n;t1 src[9];t1 want[9];}d[]={{1,{0},{1}},};t1 got[9];int i;
>  for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
>  #else
>  int dummy;
>  #endif
>   
>  int main () { return 0; }
>  configure:7072: result: no, long long reliability test 1
>  configure:7310: error: could not find a working compiler, see config.log
>  for detail
>  """
>   
>  C23 removes unprototyped functions, which explains the error.
>   
>  thanks,
>  sam

Hello,

I did the same investigation to fix compiler explorer's nightly builds only to find that Sam already reported it (not clear why it failed for us only since 4 days ago, not mid-november).

Here's the patch I've applied locally to fix the compilers:

https://github.com/compiler-explorer/gcc-cross-builder/blob/main/build/patches/crosstool-ng/0001-gcc-15-fix.patch

Thanks,
Marc


More information about the gmp-bugs mailing list