Re: [PATCH] testsuite: Fix up gcc.dg/pr126464.c test [PR126464]

Torbjorn SVENSSON <[email protected]> Wed, 5 Aug 2026 07:28:49 +0200
Newsgroups gmane.comp.gcc.patches
Message-ID <[email protected]>
Hi Jakub,

I can confirm that this fixes the problem for arm-none-eabi.

Kind regards,
Torbjörn

On 2026-08-04 17:34, Jakub Jelinek wrote:
> On Tue, Aug 04, 2026 at 02:13:19PM +0200, Torbjorn SVENSSON wrote:
>> This causes regression on most (all?) arm-none-eabi targets.
>> /build/gcc_src/gcc/testsuite/gcc.dg/pr126464.c:56:3: warning: floating constant exceeds range of 'long double' [-Woverflow]
> 
> This patch guards it with preprocessor tests whether such floating point
> constants are representable.
> 
> Tested on x86_64-linux, ok for trunk?
> 
> 2026-08-04  Jakub Jelinek  <[email protected]>
> 
> 	PR tree-optimization/126464
> 	* gcc.dg/pr126464.c: Guard uses of 1e300 with
> 	__DBL_MAX_10_EXP__ >= 301 and uses of 1e4000L with
> 	__LDBL_MAX_10_EXP__ >= 4001.
> 
> --- gcc/testsuite/gcc.dg/pr126464.c.jj	2026-07-30 09:56:33.400729346 +0200
> +++ gcc/testsuite/gcc.dg/pr126464.c	2026-08-04 17:31:18.458149999 +0200
> @@ -47,15 +47,19 @@ qux (long double x)
>   int
>   main ()
>   {
> +#if __DBL_MAX_10_EXP__ >= 301
>     if (!__builtin_isinf ((double) 1e300)
>         && __builtin_isinf ((float) 1e300)
>         && (foo (-1e300) != -5e299
>   	  || baz (1e300) != 5e299))
>       __builtin_abort ();
> +#endif
>   
> +#if __LDBL_MAX_10_EXP__ >= 4001
>     if (!__builtin_isinf ((long double) 1e4000L)
>         && __builtin_isinf ((double) 1e4000L)
>         && (bar (1e4000L) != 5e3999L
>   	  || qux (-1e4000L) != -5e3999L))
>       __builtin_abort ();
> +#endif
>   }
> 
> 
> 	Jakub
>