[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r22794 - in /fsf/trunk/libc: ./ math/ stdio-common/ stdlib/ sysdeps/ieee754/dbl-64/



Author: eglibc
Date: Sat Apr  6 00:02:00 2013
New Revision: 22794

Log:
Import glibc-mainline for 2013-04-06

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/stdio-common/tstdiomisc.c
    fsf/trunk/libc/stdlib/Makefile
    fsf/trunk/libc/stdlib/tst-strtod6.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Apr  6 00:02:00 2013
@@ -1,3 +1,32 @@
+2013-04-05  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
+
+	* stdio-common/tstdiomisc.c (snanval, msnanval, lsnanval)
+	(lmsnanval): New variables.
+	(F): Add conversion tests.
+	* stdlib/tst-strtod6.c (do_test): Add issignaling tests.
+	* stdlib/Makefile ($(objpfx)tst-strtod6): Depend on $(link-libm).
+
+	* stdio-common/tstdiomisc.c (F): Properly collect individual
+	tests' results.
+
+	[BZ #14686, #15336]
+	* sysdeps/ieee754/dbl-64/urem.h (nNAN, NAN): Remove definitions.
+	* sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder):
+	Instead, use input NaN values or generate a qNaN by arithmetic
+	operation.  Also fix bugs to comply with the standard.
+	* math/libm-test.inc (remainder_test): Add more tests.
+
+	[BZ #15335, #15342]
+	* sysdeps/ieee754/dbl-64/upow.h (NaNQ): Remove definitions.
+	* sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Instead, use
+	input NaN values or generate a qNaN by arithmetic operation.
+
+	* sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Remove
+	unreachable code.
+
+	* sysdeps/ieee754/dbl-64/usncs.h (NAN): Removed unused
+	definitions.
+
 2013-04-03  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	[BZ #14478]

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sat Apr  6 00:02:00 2013
@@ -10,10 +10,10 @@
 * The following bugs are resolved with this release:
 
   10357, 11120, 11561, 12723, 13550, 13889, 13951, 14142, 14176, 14200,
-  14317, 14327, 14478, 14496, 14812, 14920, 14964, 14981, 14982, 14985,
-  14994, 14996, 15003, 15006, 15020, 15023, 15036, 15054, 15055, 15062,
-  15078, 15160, 15214, 15232, 15234, 15283, 15285, 15287, 15304, 15305,
-  15307, 15327, 15330, 15337.
+  14317, 14327, 14478, 14496, 14686, 14812, 14920, 14964, 14981, 14982,
+  14985, 14994, 14996, 15003, 15006, 15020, 15023, 15036, 15054, 15055,
+  15062, 15078, 15160, 15214, 15232, 15234, 15283, 15285, 15287, 15304,
+  15305, 15307, 15327, 15330, 15335, 15336, 15337, 15342.
 
 * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
   #15078).

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Sat Apr  6 00:02:00 2013
@@ -11103,12 +11103,30 @@
   TEST_ff_f (remainder, 1, minus_zero, qnan_value, INVALID_EXCEPTION);
   check_int ("errno for remainder(1, -0) = EDOM ", errno, EDOM, 0, 0, 0);
   errno = 0;
+  TEST_ff_f (remainder, plus_infty, minus_zero, qnan_value, INVALID_EXCEPTION);
+  check_int ("errno for remainder(INF, -0) = EDOM ", errno, EDOM, 0, 0, 0);
+  errno = 0;
+  TEST_ff_f (remainder, plus_infty, 0, qnan_value, INVALID_EXCEPTION);
+  check_int ("errno for remainder(INF, 0) = EDOM ", errno, EDOM, 0, 0, 0);
+  errno = 0;
   TEST_ff_f (remainder, plus_infty, 1, qnan_value, INVALID_EXCEPTION);
   check_int ("errno for remainder(INF, 1) = EDOM ", errno, EDOM, 0, 0, 0);
   errno = 0;
+  TEST_ff_f (remainder, plus_infty, 2, qnan_value, INVALID_EXCEPTION);
+  check_int ("errno for remainder(INF, 2) = EDOM ", errno, EDOM, 0, 0, 0);
+  errno = 0;
+  TEST_ff_f (remainder, minus_infty, minus_zero, qnan_value, INVALID_EXCEPTION);
+  check_int ("errno for remainder(-INF, -0) = EDOM ", errno, EDOM, 0, 0, 0);
+  errno = 0;
+  TEST_ff_f (remainder, minus_infty, 0, qnan_value, INVALID_EXCEPTION);
+  check_int ("errno for remainder(-INF, 0) = EDOM ", errno, EDOM, 0, 0, 0);
+  errno = 0;
   TEST_ff_f (remainder, minus_infty, 1, qnan_value, INVALID_EXCEPTION);
   check_int ("errno for remainder(-INF, 1) = EDOM ", errno, EDOM, 0, 0, 0);
   errno = 0;
+  TEST_ff_f (remainder, minus_infty, 2, qnan_value, INVALID_EXCEPTION);
+  check_int ("errno for remainder(-INF, 2) = EDOM ", errno, EDOM, 0, 0, 0);
+  errno = 0;
   TEST_ff_f (remainder, qnan_value, qnan_value, qnan_value);
   check_int ("errno for remainder(qNAN, qNAN) unchanged", errno, 0, 0, 0, 0);
   errno = 0;
@@ -11117,6 +11135,13 @@
   errno = 0;
   TEST_ff_f (remainder, qnan_value, 0, qnan_value);
   check_int ("errno for remainder(qNaN, 0) unchanged", errno, 0, 0, 0, 0);
+
+  errno = 0;
+  TEST_ff_f (remainder, 7.0, plus_infty, 7.0);
+  check_int ("errno for remainder(7.0, INF) unchanged", errno, 0, 0, 0, 0);
+  errno = 0;
+  TEST_ff_f (remainder, 7.0, minus_infty, 7.0);
+  check_int ("errno for remainder(7.0, -INF) unchanged", errno, 0, 0, 0, 0);
 
   TEST_ff_f (remainder, 1.625, 1.0, -0.375);
   TEST_ff_f (remainder, -1.625, 1.0, 0.375);

Modified: fsf/trunk/libc/stdio-common/tstdiomisc.c
==============================================================================
--- fsf/trunk/libc/stdio-common/tstdiomisc.c (original)
+++ fsf/trunk/libc/stdio-common/tstdiomisc.c Sat Apr  6 00:02:00 2013
@@ -47,8 +47,14 @@
 }
 
 volatile double qnanval;
+volatile long double lqnanval;
+/* A sNaN is only guaranteed to be representable in variables with static (or
+   thread-local) storage duration.  */
+static volatile double snanval = __builtin_nans("");
+static volatile double msnanval = -__builtin_nans("");
+static volatile long double lsnanval = __builtin_nansl("");
+static volatile long double lmsnanval = -__builtin_nansl("");
 volatile double infval;
-volatile long double lqnanval;
 volatile long double linfval;
 
 
@@ -57,20 +63,33 @@
 {
   char buf[80];
   wchar_t wbuf[40];
-  int result;
+  int result = 0;
 
   qnanval = NAN;
 
   snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
 	    qnanval, qnanval, qnanval, qnanval,
 	    qnanval, qnanval, qnanval, qnanval);
-  result = strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+  result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
   printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
 
   snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
 	    -qnanval, -qnanval, -qnanval, -qnanval,
 	    -qnanval, -qnanval, -qnanval, -qnanval);
-  result = strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+  result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+  printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
+	  buf);
+
+  snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
+	    snanval, snanval, snanval, snanval,
+	    snanval, snanval, snanval, snanval);
+  result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+  printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
+
+  snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
+	    msnanval, msnanval, msnanval, msnanval,
+	    msnanval, msnanval, msnanval, msnanval);
+  result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
   printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
 	  buf);
 
@@ -102,6 +121,19 @@
 	  wbuf);
 
   swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G",
+	    snanval, snanval, snanval, snanval,
+	    snanval, snanval, snanval, snanval);
+  result |= wcscmp (wbuf, L"nan NAN nan NAN nan NAN nan NAN") != 0;
+  printf ("expected L\"nan NAN nan NAN nan NAN nan NAN\", got L\"%S\"\n", wbuf);
+
+  swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G",
+	    msnanval, msnanval, msnanval, msnanval,
+	    msnanval, msnanval, msnanval, msnanval);
+  result |= wcscmp (wbuf, L"-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+  printf ("expected L\"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got L\"%S\"\n",
+	  wbuf);
+
+  swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G",
 	    infval, infval, infval, infval, infval, infval, infval, infval);
   result |= wcscmp (wbuf, L"inf INF inf INF inf INF inf INF") != 0;
   printf ("expected L\"inf INF inf INF inf INF inf INF\", got L\"%S\"\n", wbuf);
@@ -118,13 +150,26 @@
   snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
 	    lqnanval, lqnanval, lqnanval, lqnanval,
 	    lqnanval, lqnanval, lqnanval, lqnanval);
-  result = strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+  result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
   printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
 
   snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
 	    -lqnanval, -lqnanval, -lqnanval, -lqnanval,
 	    -lqnanval, -lqnanval, -lqnanval, -lqnanval);
-  result = strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+  result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+  printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
+	  buf);
+
+  snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
+	    lsnanval, lsnanval, lsnanval, lsnanval,
+	    lsnanval, lsnanval, lsnanval, lsnanval);
+  result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+  printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
+
+  snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
+	    lmsnanval, lmsnanval, lmsnanval, lmsnanval,
+	    lmsnanval, lmsnanval, lmsnanval, lmsnanval);
+  result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
   printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
 	  buf);
 
@@ -160,6 +205,21 @@
 
   swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]),
 	    L"%La %LA %Le %LE %Lf %LF %Lg %LG",
+	    lsnanval, lsnanval, lsnanval, lsnanval,
+	    lsnanval, lsnanval, lsnanval, lsnanval);
+  result |= wcscmp (wbuf, L"nan NAN nan NAN nan NAN nan NAN") != 0;
+  printf ("expected L\"nan NAN nan NAN nan NAN nan NAN\", got L\"%S\"\n", wbuf);
+
+  swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]),
+	    L"%La %LA %Le %LE %Lf %LF %Lg %LG",
+	    lmsnanval, lmsnanval, lmsnanval, lmsnanval,
+	    lmsnanval, lmsnanval, lmsnanval, lmsnanval);
+  result |= wcscmp (wbuf, L"-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+  printf ("expected L\"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got L\"%S\"\n",
+	  wbuf);
+
+  swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]),
+	    L"%La %LA %Le %LE %Lf %LF %Lg %LG",
 	    linfval, linfval, linfval, linfval,
 	    linfval, linfval, linfval, linfval);
   result |= wcscmp (wbuf, L"inf INF inf INF inf INF inf INF") != 0;

Modified: fsf/trunk/libc/stdlib/Makefile
==============================================================================
--- fsf/trunk/libc/stdlib/Makefile (original)
+++ fsf/trunk/libc/stdlib/Makefile Sat Apr  6 00:02:00 2013
@@ -157,6 +157,7 @@
 $(objpfx)tst-strtod-round: $(link-libm)
 $(objpfx)tst-tininess: $(link-libm)
 $(objpfx)tst-strtod-underflow: $(link-libm)
+$(objpfx)tst-strtod6: $(link-libm)
 
 tst-tls-atexit-lib.so-no-z-defs = yes
 

Modified: fsf/trunk/libc/stdlib/tst-strtod6.c
==============================================================================
--- fsf/trunk/libc/stdlib/tst-strtod6.c (original)
+++ fsf/trunk/libc/stdlib/tst-strtod6.c Sat Apr  6 00:02:00 2013
@@ -16,6 +16,11 @@
       puts ("strtod did not return NAN");
       result = 1;
     }
+  if (issignaling (d))
+    {
+      puts ("strtod returned a sNAN");
+      result = 1;
+    }
   if (strcmp (endp, "something") != 0)
     {
       puts  ("strtod set incorrect end pointer");
@@ -26,6 +31,11 @@
   if (!isnanf (f))
     {
       puts ("strtof did not return NAN");
+      result = 1;
+    }
+  if (issignaling (f))
+    {
+      puts ("strtof returned a sNAN");
       result = 1;
     }
   if (strcmp (endp, "something") != 0)
@@ -40,6 +50,11 @@
       puts ("strtold did not return NAN");
       result = 1;
     }
+  if (issignaling (ld))
+    {
+      puts ("strtold returned a sNAN");
+      result = 1;
+    }
   if (strcmp (endp, "something") != 0)
     {
       puts  ("strtold set incorrect end pointer");

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c Sat Apr  6 00:02:00 2013
@@ -71,8 +71,9 @@
   u.x=x;
   if (v.i[LOW_HALF] == 0) { /* of y */
     qx = u.i[HIGH_HALF]&0x7fffffff;
-    /* Checking  if x is not too small to compute */
-    if (((qx==0x7ff00000)&&(u.i[LOW_HALF]!=0))||(qx>0x7ff00000)) return NaNQ.x;
+    /* Is x a NaN?  */
+    if (((qx == 0x7ff00000) && (u.i[LOW_HALF] != 0)) || (qx > 0x7ff00000))
+      return x;
     if (y == 1.0) return x;
     if (y == 2.0) return x*x;
     if (y == -1.0) return 1.0/x;
@@ -111,7 +112,7 @@
 
   if (x == 0) {
     if (((v.i[HIGH_HALF] & 0x7fffffff) == 0x7ff00000 && v.i[LOW_HALF] != 0)
-	|| (v.i[HIGH_HALF] & 0x7fffffff) > 0x7ff00000)
+	|| (v.i[HIGH_HALF] & 0x7fffffff) > 0x7ff00000) /* NaN */
       return y;
     if (ABS(y) > 1.0e20) return (y>0)?0:1.0/0.0;
     k = checkint(y);
@@ -124,9 +125,10 @@
   qx = u.i[HIGH_HALF]&0x7fffffff;  /*   no sign   */
   qy = v.i[HIGH_HALF]&0x7fffffff;  /*   no sign   */
 
-  if (qx >= 0x7ff00000 && (qx > 0x7ff00000 || u.i[LOW_HALF] != 0)) return NaNQ.x;
-  if (qy >= 0x7ff00000 && (qy > 0x7ff00000 || v.i[LOW_HALF] != 0))
-    return x == 1.0 ? 1.0 : NaNQ.x;
+  if (qx >= 0x7ff00000 && (qx > 0x7ff00000 || u.i[LOW_HALF] != 0)) /* NaN */
+    return x;
+  if (qy >= 0x7ff00000 && (qy > 0x7ff00000 || v.i[LOW_HALF] != 0)) /* NaN */
+    return x == 1.0 ? 1.0 : y;
 
   /* if x<0 */
   if (u.i[HIGH_HALF] < 0) {
@@ -139,7 +141,7 @@
       }
       else if (qx == 0x7ff00000)
 	return y < 0 ? 0.0 : INF.x;
-      return NaNQ.x;                              /* y not integer and x<0 */
+      return (x - x) / (x - x);                   /* y not integer and x<0 */
     }
     else if (qx == 0x7ff00000)
       {
@@ -153,8 +155,7 @@
   /* x>0 */
 
   if (qx == 0x7ff00000)                              /* x= 2^-0x3ff */
-    {if (y == 0) return NaNQ.x;
-    return (y>0)?x:0; }
+    return y > 0 ? x : 0;
 
   if (qy > 0x45f00000 && qy < 0x7ff00000) {
     if (x == 1.0) return 1.0;

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c Sat Apr  6 00:02:00 2013
@@ -111,12 +111,14 @@
       else return (z>0)?z-y:z+y;
     }
     else { /* if x is too big */
-      if (kx == 0x7ff00000 && u.i[LOW_HALF] == 0 && y == 1.0)
-	return x / x;
-      if (kx>=0x7ff00000||(ky==0&&t.i[LOW_HALF]==0)||ky>0x7ff00000||
-	  (ky==0x7ff00000&&t.i[LOW_HALF]!=0))
-	return (u.i[HIGH_HALF]&0x80000000)?nNAN.x:NAN.x;
-      else return x;
+      if (ky==0 && t.i[LOW_HALF] == 0)		/* y = 0 */
+	return (x * y) / (x * y);
+      else if (kx >= 0x7ff00000			/* x not finite */
+	       || (ky>0x7ff00000		/* y is NaN */
+		   || (ky == 0x7ff00000 && t.i[LOW_HALF] != 0)))
+	return (x * y) / (x * y);
+      else
+	return x;
     }
    }
   }

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h Sat Apr  6 00:02:00 2013
@@ -34,7 +34,6 @@
 /**/ nZERO	    = {{0x80000000, 0}},	  /* -0.0          */
 /**/ INF            = {{0x7ff00000, 0x00000000}}, /* INF           */
 /**/ nINF           = {{0xfff00000, 0x00000000}}, /* -INF          */
-/**/ NaNQ           = {{0x7ff80000, 0x00000000}}, /* NaNQ          */
 /**/ sqrt_2         = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2)       */
 /**/ ln2a           = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */
 /**/ ln2b           = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a    */
@@ -49,7 +48,6 @@
 /**/ nZERO	    = {{0, 0x80000000}},	  /* -0.0          */
 /**/ INF            = {{0x00000000, 0x7ff00000}}, /* INF           */
 /**/ nINF           = {{0x00000000, 0xfff00000}}, /* -INF           */
-/**/ NaNQ           = {{0x00000000, 0x7ff80000}}, /* NaNQ          */
 /**/ sqrt_2         = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2)       */
 /**/ ln2a           = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */
 /**/ ln2b           = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a    */

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h Sat Apr  6 00:02:00 2013
@@ -32,18 +32,14 @@
                      t128 = {{0x47f00000, 0}},  /*  2^ 128          */
                     tm128 = {{0x37f00000, 0}},  /*  2^-128          */
                       ZERO = {{0, 0}},          /*  0.0             */
-                     nZERO = {{0x80000000, 0}}, /* -0.0             */
-                       NAN = {{0x7ff80000, 0}}, /*  NaN             */
-                      nNAN = {{0xfff80000, 0}}; /* -NaN             */
+                     nZERO = {{0x80000000, 0}}; /* -0.0             */
 #else
 #ifdef LITTLE_ENDI
 static const mynumber big = {{0, 0x43380000}},  /* 6755399441055744 */
                      t128 = {{0, 0x47f00000}},  /*  2^ 128          */
                     tm128 = {{0, 0x37f00000}},  /*  2^-128          */
                       ZERO = {{0, 0}},          /*  0.0             */
-                     nZERO = {{0, 0x80000000}}, /* -0.0             */
-                       NAN = {{0, 0x7ff80000}}, /*  NaN             */
-                      nNAN = {{0, 0xfff80000}}; /* -NaN             */
+                     nZERO = {{0, 0x80000000}}; /* -0.0             */
 #endif
 #endif
 

Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h Sat Apr  6 00:02:00 2013
@@ -30,7 +30,6 @@
 #ifdef BIG_ENDI
 static const mynumber
 
-/**/          NAN = {{0x7ff80000, 0x00000000 }}, /*  NaN                     */
 /**/           s1 = {{0xBFC55555, 0x55555555 }}, /* -0.16666666666666666     */
 /**/           s2 = {{0x3F811111, 0x11110ECE }}, /*  0.0083333333333323288   */
 /**/           s3 = {{0xBF2A01A0, 0x19DB08B8 }}, /* -0.00019841269834414642  */
@@ -53,7 +52,6 @@
 #ifdef LITTLE_ENDI
 static const mynumber
 
-/**/          NAN = {{0x00000000, 0x7ff80000 }},/*  NaN                     */
 /**/           s1 = {{0x55555555, 0xBFC55555 }},/* -0.16666666666666666     */
 /**/           s2 = {{0x11110ECE, 0x3F811111 }},/*  0.0083333333333323288   */
 /**/           s3 = {{0x19DB08B8, 0xBF2A01A0 }},/* -0.00019841269834414642  */

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits