Building with --enable-ubasn triggers:
UBSAN: Undefined behaviour in ../sysdeps/ieee754/ldbl-96/s_llroundl.c:70:25 left shift of
4294967296 by 31 cannot be represented in type 'long long int'
The right shift is undefined if value overflow, but code is assuming
an arithmetic shift.
if (j0 > 31)
{
- result = (result << (j0 - 31)) | (j >> (63 - j0));
+ result = ((unsigned long long int)result << (j0 - 31))
+ | (j >> (63 - j0));
#ifdef FE_INVALID
if (sign == 1 && result == LLONG_MIN)
/* Rounding brought the value out of range. */