bug-gnulib
[Top][All Lists]
Advanced

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

Re: strtod.c compilation failure on i386/Solaris 10


From: Bruno Haible
Subject: Re: strtod.c compilation failure on i386/Solaris 10
Date: Sat, 12 Apr 2008 19:06:44 +0200
User-agent: KMail/1.5.4

Jim Meyering wrote:
>   Undefined                       first referenced
>    symbol                             in file
>   __builtin_isnan                     test-strtod.o
>   ld: fatal: Symbol referencing errors. No output written to test-strtod
>   collect2: ld returned 1 exit status
>   make[5]: *** [test-strtod] Error 1

Eric, this may fix it. We don't have a module yet that provides the generic
isnan() macro. But we have a module 'isnand-nolibm', which the test already
uses.

OK to commit?


2008-04-12  Bruno Haible  <address@hidden>

        * tests/test-strtod.c: Include isnand.h.
        (main): Use isnand instead of isnan.

--- tests/test-strtod.c.orig    2008-04-12 19:04:11.000000000 +0200
+++ tests/test-strtod.c 2008-04-12 19:03:44.000000000 +0200
@@ -25,6 +25,8 @@
 #include <stdio.h>
 #include <string.h>
 
+#include "isnand.h"
+
 #define ASSERT(expr) \
   do                                                                        \
     {                                                                       \
@@ -602,8 +604,8 @@
     result1 = strtod (input, &ptr1);
     result2 = strtod (input + 1, &ptr2);
 #if 1 /* All known CPUs support NaNs.  */
-    ASSERT (isnan (result1));           /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, 
mingw */
-    ASSERT (isnan (result2));           /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, 
mingw */
+    ASSERT (isnand (result1));          /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, 
mingw */
+    ASSERT (isnand (result2));          /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, 
mingw */
 # if 0
     /* Sign bits of NaN is a portability sticking point, not worth
        worrying about.  */
@@ -632,8 +634,8 @@
     result1 = strtod (input, &ptr1);
     result2 = strtod (input + 1, &ptr2);
 #if 1 /* All known CPUs support NaNs.  */
-    ASSERT (isnan (result1));           /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
-    ASSERT (isnan (result2));           /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
+    ASSERT (isnand (result1));          /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
+    ASSERT (isnand (result2));          /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
     ASSERT (!!signbit (result1) == !!signbit (result2));
     ASSERT (ptr1 == input + 4);         /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, Solaris 2.5.1, mingw */
     ASSERT (ptr2 == input + 4);         /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, Solaris 2.5.1, mingw */
@@ -658,8 +660,8 @@
     result1 = strtod (input, &ptr1);
     result2 = strtod (input + 1, &ptr2);
 #if 1 /* All known CPUs support NaNs.  */
-    ASSERT (isnan (result1));           /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
-    ASSERT (isnan (result2));           /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
+    ASSERT (isnand (result1));          /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
+    ASSERT (isnand (result2));          /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
 # if 0
     /* Sign bits of NaN is a portability sticking point, not worth
        worrying about.  */
@@ -685,7 +687,7 @@
     errno = 0;
     result = strtod (input, &ptr);
 #if 1 /* All known CPUs support NaNs.  */
-    ASSERT (isnan (result));            /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
+    ASSERT (isnand (result));           /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
     ASSERT (ptr == input + 6);          /* glibc-2.3.6, MacOS X 10.3, FreeBSD 
6.2, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
     ASSERT (errno == 0);
 #else
@@ -708,8 +710,8 @@
     result1 = strtod (input, &ptr1);
     result2 = strtod (input + 1, &ptr2);
 #if 1 /* All known CPUs support NaNs.  */
-    ASSERT (isnan (result1));           /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
-    ASSERT (isnan (result2));           /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
+    ASSERT (isnand (result1));          /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
+    ASSERT (isnand (result2));          /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, 
OSF/1 5.1, mingw */
 # if 0
     /* Sign bits of NaN is a portability sticking point, not worth
        worrying about.  */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]