--- a/configure.ac +++ b/configure.ac @@ -43,12 +43,6 @@ AC_FUNC_MALLOC AC_FUNC_REALLOC AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale) -AC_CHECK_DECLS([INFINITY], [], [], [[#include ]]) -AC_CHECK_DECLS([nan], [], [], [[#include ]]) -AC_CHECK_DECLS([isnan], [], [], [[#include ]]) -AC_CHECK_DECLS([isinf], [], [], [[#include ]]) -AC_CHECK_DECLS([_isnan], [], [], [[#include ]]) -AC_CHECK_DECLS([_finite], [], [], [[#include ]]) #check if .section.gnu.warning accepts long strings (for __warn_references) AC_LANG_PUSH([C]) --- a/math_compat.h +++ b/math_compat.h @@ -1,28 +1,9 @@ #ifndef __math_compat_h #define __math_compat_h -/* Define isnan and isinf on Windows/MSVC */ - -#ifndef HAVE_DECL_ISNAN -# ifdef HAVE_DECL__ISNAN -#include -#define isnan(x) _isnan(x) -# endif -#endif - -#ifndef HAVE_DECL_ISINF -# ifdef HAVE_DECL__FINITE -#include -#define isinf(x) (!_finite(x)) -# endif -#endif - -#ifndef HAVE_DECL_NAN -#error This platform does not have nan() -#endif - -#ifndef HAVE_DECL_INFINITY -#error This platform does not have INFINITY -#endif +#undef isnan +#define isnan(x) __builtin_isnan(x) +#undef isinf +#define isinf(x) __builtin_isinf(x) #endif