Fix test to work on IRIX 6.5 with cc.
authorBruno Haible <bruno@clisp.org>
Wed, 2 Apr 2008 01:29:50 +0000 (03:29 +0200)
committerBruno Haible <bruno@clisp.org>
Wed, 2 Apr 2008 01:29:50 +0000 (03:29 +0200)
ChangeLog
tests/test-math.c

index 1f84a20..9232d1d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2008-04-01  Bruno Haible  <bruno@clisp.org>
 
+       Fix test to work on IRIX 6.5 with cc.
+       * tests/test-math.c (numeric_equal): New function.
+       (main): Use it.
+
+2008-04-01  Bruno Haible  <bruno@clisp.org>
+
        * doc/posix-headers/math.texi: Refine documentation of NAN problem.
 
 2008-04-01  Bruno Haible  <bruno@clisp.org>
index 56cf058..ec654b2 100644 (file)
@@ -30,9 +30,20 @@ choke me
 static float n = NAN;
 #endif
 
+/* Compare two numbers with ==.
+   This is a separate function because IRIX 6.5 "cc -O" miscompiles an
+   'x == x' test.  */
+static int
+numeric_equal (double x, double y)
+{
+  return x == y;
+}
+
 int
 main ()
 {
   double d = NAN;
-  return d == d;
+  if (numeric_equal (d, d))
+    return 1;
+  return 0;
 }