--- a/configure.ac +++ b/configure.ac @@ -76,12 +76,6 @@ AC_FUNC_VPRINTF AC_FUNC_MEMCMP AC_CHECK_FUNCS([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 ]]) AC_MSG_CHECKING(for GCC atomic builtins) AC_LINK_IFELSE( [ --- a/math_compat.h +++ b/math_compat.h @@ -6,31 +6,9 @@ * @brief Do not use, json-c internal, may be changed or removed at any time. */ -/* Define isnan, isinf, infinity and nan 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_INFINITY -#include -#define INFINITY (DBL_MAX + DBL_MAX) -#define HAVE_DECL_INFINITY -#endif - -#ifndef HAVE_DECL_NAN -#define NAN (INFINITY - INFINITY) -#define HAVE_DECL_NAN -#endif +#undef isnan +#define isnan(x) __builtin_isnan(x) +#undef isinf +#define isinf(x) __builtin_isinf(x) #endif