Am 07.07.25 um 01:30 schrieb Paul Eggert:
On 2025-07-06 14:08, C. Neidahl wrote:The test is now failing on the equality check of LDBL_NORM_MAX and LDBL_MAX.Thanks for reporting that too. I installed the attached further patch; please give it a try on your platform.
Unfortunately, that didn't resolve the failure this time. Post-normalisation LDBL_MAX comes out to the same value as pre-normalisation :
LDBL_NORM_MAX: 89884656743115795386465259539450128766966288724472610334630423336231943689042990262031864964146911303331962299283200185732375572360300619049614816145813886715934840536452926595831348289963454482775419594532228260779317188107524208860864634360229482735845054819089420698240579881159115163603671311773425729536.000000 LDBL_MAX: 17976931348623158079372897140530119925206901226475239033200454449517617986534976833800427058347349368187409713538789492475251692375812501823703969032365946973601068964874875159163433182449852637786223196724952060829185
0653495428451067676993116107021027413767397958053860876625383538022115414866471826801819648.000000normalize_long_double(LDBL_MAX): 179769313486231580793728971405301199252069012264752390332004544495176179865349768338004270583473493681874097135387894924752516923758125018237039690323659469736010689648748751591634331824498526377862231967249520608291850653495428451067676993116107021027413767397958053860876625383538022115414866471826801819648.000000 test-float-h.c:517: assertion 'LDBL_NORM_MAX == normalize_long_double (LDBL_MAX)' failed
If it helps, [1] is the GCC commit that introduced LDBL_NORM_MAX. The change in gcc/real.c's get_max_float function covers the *_MAX values, with the (is_ibm_extended && norm_max) ternary causing the difference in the LDBL_NORM_MAX value - 2^(1024-1) instead of 2^1024.
- Cosima[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=00be2a5f394119085c72aee8d18adefd8ec3ec22
publickey - opna2608@protonmail.com - 0xC802C863.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature