Don't abort if the 'long double' type has excess precision.
authorBruno Haible <bruno@clisp.org>
Mon, 26 Nov 2007 20:13:57 +0000 (21:13 +0100)
committerBruno Haible <bruno@clisp.org>
Mon, 26 Nov 2007 20:13:57 +0000 (21:13 +0100)
ChangeLog
lib/vasnprintf.c

index 2097a261256a6f01aee965131f5091dda16ff3c6..57f1f1d4e55ffc57cfd0a7621dc48b1550870bcc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-11-26  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (decode_long_double): Don't abort if the
+       'long double' type has excess precision.
+       Reported by Jim Meyering in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
+
 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
index d6b012a4ac255b889bae71cfc48bc584636219ce..f26b42be60924ef5f34ec9f991e1e65f568504a2 100644 (file)
@@ -871,8 +871,11 @@ decode_long_double (long double x, int *ep, mpn_t *mp)
        abort ();
       m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo;
     }
+#if 0 /* On FreeBSD 6.1/x86, 'long double' numbers sometimes have excess
+         precision.  */
   if (!(y == 0.0L))
     abort ();
+#endif
   /* Normalise.  */
   while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0)
     m.nlimbs--;