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