54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- 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 <math.h>]])
 | |
| -AC_CHECK_DECLS([nan], [], [], [[#include <math.h>]])
 | |
| -AC_CHECK_DECLS([isnan], [], [], [[#include <math.h>]])
 | |
| -AC_CHECK_DECLS([isinf], [], [], [[#include <math.h>]])
 | |
| -AC_CHECK_DECLS([_isnan], [], [], [[#include <float.h>]])
 | |
| -AC_CHECK_DECLS([_finite], [], [], [[#include <float.h>]])
 | |
|  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 <float.h>
 | |
| -#define isnan(x) _isnan(x)
 | |
| -# endif
 | |
| -#endif
 | |
| -
 | |
| -#ifndef HAVE_DECL_ISINF
 | |
| -# ifdef HAVE_DECL__FINITE
 | |
| -#include <float.h>
 | |
| -#define isinf(x) (!_finite(x))
 | |
| -# endif
 | |
| -#endif
 | |
| -
 | |
| -#ifndef HAVE_DECL_INFINITY
 | |
| -#include <float.h>
 | |
| -#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
 | 
