[Top][All Lists]

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

isnan: ensure it's a macro

From: Bruno Haible
Subject: isnan: ensure it's a macro
Date: Mon, 20 Dec 2010 03:31:54 +0100
User-agent: KMail/1.9.9

The isnan test suite verifies that isnan() is a macro, not only a function.
This test fails on OSF/1 5.1 with gcc:

depbase=`echo test-isnan.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; gcc -std=gnu99 
-I../gllib -I./../gllib  -Wall -mieee  -g -O2 -MT test-isnan.o -MD -MP -MF 
$depbase.Tpo -c -o test-isnan.o test-isnan.c && mv -f $depbase.Tpo $depbase.Po
test-isnan.c:26:3: error: #error missing declaration
*** Exit 1

Gary has reported this error also for Solaris.

This fixes it:

2010-12-19  Bruno Haible  <address@hidden>

        isnan: Ensure it is a macro.
        * lib/math.in.h (isnan): Define as a macro if not already a macro.
        * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,

--- doc/posix-functions/isnan.texi.orig Mon Dec 20 03:27:15 2010
+++ doc/posix-functions/isnan.texi      Mon Dec 20 03:27:01 2010
@@ -12,6 +12,9 @@
 @code{isnan} was introduced with C99 and is thus commonly not present
 on pre-C99 systems.
address@hidden is not a macro on some platforms:
+IRIX 6.5, OSF/1 5.1 with gcc, Solaris 11 2010-11.
 On IRIX 6.5 with @code{cc}, @code{isnan} does not recognize some NaNs.
 On NetBSD/i386 and glibc/ia64, @code{isnan} does not recognize some
--- lib/math.in.h.orig  Mon Dec 20 03:27:15 2010
+++ lib/math.in.h       Mon Dec 20 03:06:33 2010
@@ -680,6 +680,10 @@
     sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
     gl_isnan_f (x))
 # endif
+/* Ensure isnan is a macro.  */
+# ifndef isnan
+#  define isnan isnan
+# endif
 #elif defined GNULIB_POSIXCHECK
 # if defined isnan

reply via email to

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