-# isfinite.m4 serial 8
-dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
+# isfinite.m4 serial 13
+dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_REQUIRE([gl_MATH_H_DEFAULTS])
dnl Persuade glibc <math.h> to declare isfinite.
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_DECLS([isfinite], , , [#include <math.h>])
+ AC_CHECK_DECLS([isfinite], , , [[#include <math.h>]])
if test "$ac_cv_have_decl_isfinite" = yes; then
- gl_CHECK_MATH_LIB([ISFINITE_LIBM], [x = isfinite (x);])
+ gl_CHECK_MATH_LIB([ISFINITE_LIBM],
+ [x = isfinite (x) + isfinite ((float) x);])
if test "$ISFINITE_LIBM" != missing; then
dnl Test whether isfinite() on 'long double' works.
gl_ISFINITEL_WORKS
if test "$ac_cv_have_decl_isfinite" != yes ||
test "$ISFINITE_LIBM" = missing; then
REPLACE_ISFINITE=1
- AC_LIBOBJ([isfinite])
+ dnl No libraries are needed to link lib/isfinite.c.
ISFINITE_LIBM=
fi
AC_SUBST([ISFINITE_LIBM])
[
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([gl_BIGENDIAN])
+ AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_CACHE_CHECK([whether isfinite(long double) works], [gl_cv_func_isfinitel_works],
[
result |= 1;
}
-#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
/* Representation of an 80-bit 'long double' as an initializer for a sequence
of 'unsigned int' words. */
# ifdef WORDS_BIGENDIAN
static memory_long_double x =
{ LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
if (isfinite (x.value))
- return |= 64;
+ result |= 64;
}
#endif
}]])], [gl_cv_func_isfinitel_works=yes], [gl_cv_func_isfinitel_works=no],
[case "$host_cpu" in
# Guess no on ia64, x86_64, i386.
- ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";;
- *) gl_cv_func_isnanl_works="guessing yes";;
+ ia64 | x86_64 | i*86) gl_cv_func_isfinitel_works="guessing no";;
+ *) gl_cv_func_isfinitel_works="guessing yes";;
esac
])
])