This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Update libquadmath fmaq from glibc, fix nanq issues
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 7 Nov 2018 07:46:59 +0100
- Subject: Re: Update libquadmath fmaq from glibc, fix nanq issues
- References: <alpine.DEB.2.21.1811070028500.9324@digraph.polyomino.org.uk>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Nov 07, 2018 at 12:29:21AM +0000, Joseph Myers wrote:
> This patch extends update-quadmath.py to update fmaq from glibc.
>
> The issue in that function was that quadmath-imp.h had a struct in a
> union with mant_high and mant_low fields (up to 64-bit) whereas glibc
> has mantissa0, mantissa1, mantissa2 and mantissa3 (up to 32-bit). The
> patch changes those fields to be the same as in glibc, moving printf /
> strtod code that also uses those fields back to closer to the glibc
> form. This allows fmaq to be updated automatically from glibc (which
> brings in at least one bug fix from glibc from 2015).
>
> nanq was also using the mant_high field name, and had other issues: it
> only partly initialized the union from which a value was returned, and
> setting mant_high to 1 meant a signaling NaN would be returned rather
> than a quiet NaN. This patch fixes those issues as part of updating
> it to use the changed interfaces (but does not fix the issue of not
> using the argument).
>
> Bootstrapped with no regressions on x86_64-pc-linux-gnu.
Don't know about the dropping of HAVE_FENV_H/USE_FENV_H stuff, don't we
support libquadmath on targets that don't have fenv.h?
In other sources, like e.g. expq.c, the USE_FENV_H guards are still kept.
Jakub