[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
isnanl problem on Solaris 8 with GCC 4.2.2
From: |
Paul Eggert |
Subject: |
isnanl problem on Solaris 8 with GCC 4.2.2 |
Date: |
Thu, 24 Jan 2008 13:43:02 -0800 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) |
I ran into this problem when compiling coreutils 6.10 on Solaris 8
(sparc) with GCC 4.2.2:
frexp.c: In function 'rpl_frexpl':
frexp.c:63: warning: implicit declaration of function 'isnanl'
vasnprintf.c: In function 'is_infinitel':
vasnprintf.c:252: warning: implicit declaration of function 'isnanl'
Here, the problem is that isnanl is defined by libm, but it's not
declared anywhere in /usr/include.
Here's a patch:
2008-01-24 Paul Eggert <address@hidden>
* m4/isnanl.m4: Check that isnanl is declared, when it's used.
(gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM): Check that
isnanl is declared, if we are not going to override it anyway.
This suppresses a warning when compiling coreutils 6.10 with GCC
4.2.2 on Solaris 8. In that combination, no include file defines
isnanl, but it's in libm, and GCC issues a warning when compiling.
diff --git a/m4/isnanl.m4 b/m4/isnanl.m4
index a02ded7..59a24e8 100644
--- a/m4/isnanl.m4
+++ b/m4/isnanl.m4
@@ -67,9 +67,12 @@ AC_DEFUN([gl_HAVE_ISNANL_NO_LIBM],
#ifdef isnan
# undef isnanl
# define isnanl(x) isnan ((long double)(x))
+ # define check_for_declaration 1
+ #else
+ # define check_for_declaration isnanl
#endif
long double x;],
- [return isnanl (x);],
+ [return check_for_declaration && isnanl (x);],
[gl_cv_func_isnanl_no_libm=yes],
[gl_cv_func_isnanl_no_libm=no])
])
@@ -87,9 +90,12 @@ AC_DEFUN([gl_HAVE_ISNANL_IN_LIBM],
#ifdef isnan
# undef isnanl
# define isnanl(x) isnan ((long double)(x))
+ # define check_for_declaration 1
+ #else
+ # define check_for_declaration isnanl
#endif
long double x;],
- [return isnanl (x);],
+ [return check_for_declaration && isnanl (x);],
[gl_cv_func_isnanl_in_libm=yes],
[gl_cv_func_isnanl_in_libm=no])
LIBS="$save_LIBS"
- isnanl problem on Solaris 8 with GCC 4.2.2,
Paul Eggert <=