Replace finite() with isfinite() by default

This is part of the C standard also also causing warning on macOS.
This commit is contained in:
Alex Samorukov
2019-11-07 09:09:22 +00:00
parent 4cd23c64e9
commit 04997fc0ae
4 changed files with 28 additions and 20 deletions

View File

@ -31,10 +31,10 @@
#include "gimp-utils.h" #include "gimp-utils.h"
#if defined (HAVE_FINITE) #if defined (HAVE_ISFINITE)
#define FINITE(x) finite(x)
#elif defined (HAVE_ISFINITE)
#define FINITE(x) isfinite(x) #define FINITE(x) isfinite(x)
#elif defined (HAVE_FINITE)
#define FINITE(x) finite(x)
#elif defined (G_OS_WIN32) #elif defined (G_OS_WIN32)
#define FINITE(x) _finite(x) #define FINITE(x) _finite(x)
#else #else

View File

@ -30,10 +30,10 @@
#include "gimpcurve-map.h" #include "gimpcurve-map.h"
#if defined (HAVE_FINITE) #if defined (HAVE_ISFINITE)
#define FINITE(x) finite(x)
#elif defined (HAVE_ISFINITE)
#define FINITE(x) isfinite(x) #define FINITE(x) isfinite(x)
#elif defined (HAVE_FINITE)
#define FINITE(x) finite(x)
#elif defined (G_OS_WIN32) #elif defined (G_OS_WIN32)
#define FINITE(x) _finite(x) #define FINITE(x) _finite(x)
#else #else

View File

@ -1021,7 +1021,7 @@ AC_RUN_IFELSE(
[AC_MSG_RESULT])], [AC_MSG_RESULT])],
[AC_MSG_RESULT()]) [AC_MSG_RESULT()])
# Check for finite or isfinite # Check for finite
AC_CHECK_FUNCS(finite, , [ AC_CHECK_FUNCS(finite, , [
AC_MSG_CHECKING(for finite in <math.h>) AC_MSG_CHECKING(for finite in <math.h>)
AC_LINK_IFELSE( AC_LINK_IFELSE(
@ -1030,15 +1030,23 @@ AC_CHECK_FUNCS(finite, , [
[[double f = 0.0; finite (f)]])], [[double f = 0.0; finite (f)]])],
[AC_DEFINE(HAVE_FINITE, 1) [AC_DEFINE(HAVE_FINITE, 1)
AC_MSG_RESULT(yes)], AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no) [AC_MSG_RESULT(no)])
]
)
# Check for isfinite
AC_CHECK_FUNCS(isfinite, , [
AC_MSG_CHECKING(for isfinite in <math.h>) AC_MSG_CHECKING(for isfinite in <math.h>)
AC_LINK_IFELSE( AC_LINK_IFELSE(
[AC_LANG_PROGRAM( [AC_LANG_PROGRAM(
[[#include <math.h>]], [[#include <math.h>]],
[[float f = 0.0; isfinite(f)]])], [[double f = 0.0; isfinite (f)]])],
[AC_DEFINE([HAVE_ISFINITE],[1],[Define to 1 if you have the isfinite function.]) [AC_DEFINE(HAVE_ISFINITE, 1)
AC_MSG_RESULT(yes)], AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])])]) [AC_MSG_RESULT(no)])
]
)
AC_SUBST(HAVE_FINITE) AC_SUBST(HAVE_FINITE)
AC_SUBST(HAVE_ISFINITE) AC_SUBST(HAVE_ISFINITE)

View File

@ -3106,10 +3106,10 @@ CODE
$extra{app}->{code} = <<'CODE'; $extra{app}->{code} = <<'CODE';
#if defined (HAVE_FINITE) #if defined (HAVE_ISFINITE)
#define FINITE(x) finite(x)
#elif defined (HAVE_ISFINITE)
#define FINITE(x) isfinite(x) #define FINITE(x) isfinite(x)
#elif defined (HAVE_FINITE)
#define FINITE(x) finite(x)
#elif defined (G_OS_WIN32) #elif defined (G_OS_WIN32)
#define FINITE(x) _finite(x) #define FINITE(x) _finite(x)
#else #else