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 >