summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <okiddle@yahoo.co.uk>2018-08-31 15:45:49 +0200
committerOliver Kiddle <okiddle@yahoo.co.uk>2018-08-31 23:25:38 +0200
commit43e9a1dc974c61d208ea5b39ba0b387368290a93 (patch)
treef73e9e0d9128491990e0dde37757b7b558bfb949
parent410c30a25b070fa7ef137ff35166323c322bcd53 (diff)
downloadzsh-43e9a1dc974c61d208ea5b39ba0b387368290a93.tar.gz
zsh-43e9a1dc974c61d208ea5b39ba0b387368290a93.tar.xz
zsh-43e9a1dc974c61d208ea5b39ba0b387368290a93.zip
43357: isinf/isnan can be macros so need custom configure tests
-rw-r--r--ChangeLog3
-rw-r--r--configure.ac22
2 files changed, 24 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8dd3bd9e8..b2af46224 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-08-31  Oliver Kiddle  <okiddle@yahoo.co.uk>
 
+	* 43357: configure.ac: isinf/isnan can be macros rather
+	than functions so need a custom configure test
+
 	* unposted: Completion/Unix/Command/_git: git describe's
 	--long and --abbrev options are not mutually exclusive
 
diff --git a/configure.ac b/configure.ac
index 5e13c0f11..5513e25f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1278,7 +1278,6 @@ AC_CHECK_FUNCS(strftime strptime mktime timelocal \
 	       erand48 open_memstream \
 	       posix_openpt \
 	       wctomb iconv \
-	       isinf isnan \
 	       grantpt unlockpt ptsname \
 	       htons ntohs \
 	       regcomp regexec regerror regfree \
@@ -1291,6 +1290,27 @@ AC_CHECK_FUNCS(strftime strptime mktime timelocal \
 	       setutxent getutxent endutxent getutent)
 AC_FUNC_STRCOLL
 
+# isinf() and isnan() can exist as either functions or macros.
+AH_TEMPLATE([HAVE_ISINF],
+  [Define to 1 if you have the `isinf' macro or function.])
+AC_MSG_CHECKING([for isinf])
+AC_LINK_IFELSE([AC_LANG_SOURCE(
+[[#include <math.h>
+int main () { return (isinf(1.0) != 0); }]])],
+  [AC_MSG_RESULT([yes])
+   AC_DEFINE([HAVE_ISINF])],
+  [AC_MSG_RESULT([no])])
+
+AH_TEMPLATE([HAVE_ISNAN],
+  [Define to 1 if you have the `isnan' macro or function.])
+AC_MSG_CHECKING([for isnan])
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+#include <math.h>
+int main () { return (isnan(1.0) != 0); }]])],
+  [AC_MSG_RESULT([yes])
+   AC_DEFINE([HAVE_ISNAN])],
+  [AC_MSG_RESULT([no])])
+
 AH_TEMPLATE([REALPATH_ACCEPTS_NULL],
 [Define if realpath() accepts NULL as its second argument.])
 AC_CACHE_CHECK([if realpath accepts NULL],