X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=libiberty%2Ffloatformat.c;h=8632253b4c14f4341384c814db8dc48d9de0f683;hb=f3c469b95b9f1f635668660c5041df9513a47a02;hp=c58ab01bce2d79811778064201c27a54eeb887c9;hpb=e372c21ce5de68fdfd90230d8f6d4f106973d19e;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c index c58ab01bce..8632253b4c 100644 --- a/libiberty/floatformat.c +++ b/libiberty/floatformat.c @@ -1,6 +1,5 @@ /* IEEE floating point support routines, for GDB, the GNU Debugger. - Copyright 1991, 1994, 1999, 2000, 2003, 2005, 2006, 2010, 2012 - Free Software Foundation, Inc. + Copyright (C) 1991-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -19,7 +18,9 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This is needed to pick up the NAN macro on some systems. */ +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #ifdef HAVE_CONFIG_H #include "config.h" @@ -371,14 +372,23 @@ floatformat_ibm_long_double_is_valid (const struct floatformat *fmt, } } -const struct floatformat floatformat_ibm_long_double = +const struct floatformat floatformat_ibm_long_double_big = { floatformat_big, 128, 0, 1, 11, 1023, 2047, 12, 52, floatformat_intbit_no, - "floatformat_ibm_long_double", + "floatformat_ibm_long_double_big", floatformat_ibm_long_double_is_valid, &floatformat_ieee_double_big }; + +const struct floatformat floatformat_ibm_long_double_little = +{ + floatformat_little, 128, 0, 1, 11, 1023, 2047, 12, 52, + floatformat_intbit_no, + "floatformat_ibm_long_double_little", + floatformat_ibm_long_double_is_valid, + &floatformat_ieee_double_little +}; #ifndef min @@ -479,7 +489,7 @@ floatformat_to_double (const struct floatformat *fmt, int nan = mant_bits_set (fmt, ufrom); /* On certain systems (such as GNU/Linux), the use of the - INFINITY macro below may generate a warning that can not be + INFINITY macro below may generate a warning that cannot be silenced due to a bug in GCC (PR preprocessor/11931). The preprocessor fails to recognise the __extension__ keyword in conjunction with the GNU/C99 extension for hexadecimal