about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--WUR-REPORT2
-rw-r--r--stdio-common/tstdiomisc.c21
3 files changed, 11 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d51ce7922..d4d5c49008 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* stdio-common/tstdiomisc.c (F): Use NAN to get NaN value.
+
 2006-01-06  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/tst-tls8.c (do_test): Use $ORIGIN in module names.
diff --git a/WUR-REPORT b/WUR-REPORT
index 52c4a812d9..ef407cfdbe 100644
--- a/WUR-REPORT
+++ b/WUR-REPORT
@@ -27,7 +27,7 @@ fsetpos:   likewise
 
 <stdlib.h>:
 
-atext:     it is guaranteed that a certain number of handlers can be
+atexit:    it is guaranteed that a certain number of handlers can be
            registered, so some calls might need not be checked
 on_exit:   same
 random functions:  one might want to discard a number of results.  In any
diff --git a/stdio-common/tstdiomisc.c b/stdio-common/tstdiomisc.c
index e89487cb45..db038fa2b0 100644
--- a/stdio-common/tstdiomisc.c
+++ b/stdio-common/tstdiomisc.c
@@ -46,15 +46,8 @@ t2 (void)
   return result;
 }
 
-#if FLT_EVAL_METHOD == 2
-volatile long double dbl_max = LDBL_MAX;
-# define FLT_FLT_FMT "%Lf %LF"
-# define FLT_FLT_WFMT L"%Lf %LF"
-#else
-# define dbl_max DBL_MAX
-# define FLT_FLT_FMT "%f %F"
-# define FLT_FLT_WFMT L"%f %F"
-#endif
+volatile double nanval;
+
 
 static int
 F (void)
@@ -63,9 +56,9 @@ F (void)
   wchar_t wbuf[10];
   int result;
 
-  snprintf (buf, sizeof buf, FLT_FLT_FMT,
-	    dbl_max * dbl_max - dbl_max * dbl_max,
-	    dbl_max * dbl_max - dbl_max * dbl_max);
+  nanval = NAN;
+
+  snprintf (buf, sizeof buf, "%f %F", nanval, nanval);
   result = strcmp (buf, "nan NAN") != 0;
   printf ("expected \"nan NAN\", got \"%s\"\n", buf);
 
@@ -73,9 +66,7 @@ F (void)
   result |= strcmp (buf, "inf INF") != 0;
   printf ("expected \"inf INF\", got \"%s\"\n", buf);
 
-  swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), FLT_FLT_WFMT,
-	    dbl_max * dbl_max - dbl_max * dbl_max,
-	    dbl_max * dbl_max - dbl_max * dbl_max);
+  swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%f %F", nanval, nanval);
   result |= wcscmp (wbuf, L"nan NAN") != 0;
   printf ("expected L\"nan NAN\", got L\"%S\"\n", wbuf);