|
|
@@ -1,8 +1,8 @@
|
|
|
--- a/configure.ac
|
|
|
+++ b/configure.ac
|
|
|
-@@ -43,12 +43,6 @@
|
|
|
- AC_FUNC_MALLOC
|
|
|
- AC_FUNC_REALLOC
|
|
|
+@@ -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 <math.h>]])
|
|
|
-AC_CHECK_DECLS([nan], [], [], [[#include <math.h>]])
|
|
|
@@ -10,16 +10,16 @@
|
|
|
-AC_CHECK_DECLS([isinf], [], [], [[#include <math.h>]])
|
|
|
-AC_CHECK_DECLS([_isnan], [], [], [[#include <float.h>]])
|
|
|
-AC_CHECK_DECLS([_finite], [], [], [[#include <float.h>]])
|
|
|
-
|
|
|
- #check if .section.gnu.warning accepts long strings (for __warn_references)
|
|
|
- AC_LANG_PUSH([C])
|
|
|
+ AC_MSG_CHECKING(for GCC atomic builtins)
|
|
|
+ AC_LINK_IFELSE(
|
|
|
+ [
|
|
|
--- a/math_compat.h
|
|
|
+++ b/math_compat.h
|
|
|
-@@ -1,28 +1,9 @@
|
|
|
- #ifndef __math_compat_h
|
|
|
- #define __math_compat_h
|
|
|
+@@ -6,31 +6,9 @@
|
|
|
+ * @brief Do not use, json-c internal, may be changed or removed at any time.
|
|
|
+ */
|
|
|
|
|
|
--/* Define isnan and isinf on Windows/MSVC */
|
|
|
+-/* Define isnan, isinf, infinity and nan on Windows/MSVC */
|
|
|
-
|
|
|
-#ifndef HAVE_DECL_ISNAN
|
|
|
-# ifdef HAVE_DECL__ISNAN
|
|
|
@@ -35,12 +35,15 @@
|
|
|
-# endif
|
|
|
-#endif
|
|
|
-
|
|
|
--#ifndef HAVE_DECL_NAN
|
|
|
--#error This platform does not have nan()
|
|
|
+-#ifndef HAVE_DECL_INFINITY
|
|
|
+-#include <float.h>
|
|
|
+-#define INFINITY (DBL_MAX + DBL_MAX)
|
|
|
+-#define HAVE_DECL_INFINITY
|
|
|
-#endif
|
|
|
-
|
|
|
--#ifndef HAVE_DECL_INFINITY
|
|
|
--#error This platform does not have INFINITY
|
|
|
+-#ifndef HAVE_DECL_NAN
|
|
|
+-#define NAN (INFINITY - INFINITY)
|
|
|
+-#define HAVE_DECL_NAN
|
|
|
-#endif
|
|
|
+#undef isnan
|
|
|
+#define isnan(x) __builtin_isnan(x)
|