[PATCH V2] acinclude.m4: fix -std=c23 build failure
Marc Glisse
marc.glisse at inria.fr
Wed Jan 29 22:43:38 CET 2025
Done, thanks.
If there are more such issues, I think I'd rather remove some of those
tests for antique compilers. If someone tries to build a recent GMP with
an Apple build of gcc-3.3, they probably want bad things to happen anyway.
On Wed, 22 Jan 2025, Rudi Heitbaum wrote:
> Add prototype to configure test function as c23 removes unprototyped
> functions.
>
> gcc-15 switched to -std=c23 by default:
>
> https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
>
> As a result `configure` fails with:
> conftest.c: In function 'f':
> conftest.c:12:48: error: too many arguments to function 'g'; expected 0, have 6
> 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(){}
> | ^
>
> Link: https://gmplib.org/list-archives/gmp-bugs/2024-November/005550.html
> Signed-off-by: Rudi Heitbaum <rudi at heitbaum.com>
> ---
> v2:
> - update prototype to allow type checking
> ---
> acinclude.m4 | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/acinclude.m4 b/acinclude.m4
> index fddb5fb07a..2d41de6328 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -609,7 +609,7 @@ GMP_PROG_CC_WORKS_PART([$1], [long long reliability test 1],
>
> #if defined (__GNUC__) && ! defined (__cplusplus)
> typedef unsigned long long t1;typedef t1*t2;
> -void g(){}
> +void g(int,const t1 *,t1,t1 *,const t1 *,int){}
> 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;}
>
--
Marc Glisse
More information about the gmp-devel
mailing list