From 7ef720f1840ea817d8a9bcc8da2843ec66a510fc Mon Sep 17 00:00:00 2001
From: Charles Davis <cdavis5x@gmail.com>
Date: Thu, 22 Jan 2015 23:30:57 -0700
Subject: [PATCH] msvcrt: Support 64-bit platforms that don't have finitef or
 isnanf.

---
 configure           |  2 ++
 configure.ac        |  2 ++
 dlls/msvcrt/math.c  | 12 ++++++++++++
 include/config.h.in |  6 ++++++
 4 files changed, 22 insertions(+)

diff --git a/configure b/configure
index c0aa93ebba6..b6660bda21b 100755
--- a/configure
+++ b/configure
@@ -14671,6 +14671,7 @@ for ac_func in \
 	dlopen \
 	epoll_create \
 	ffs \
+	finitef \
 	fnmatch \
 	fork \
 	fpclass \
@@ -14687,6 +14688,7 @@ for ac_func in \
 	gettimeofday \
 	getuid \
 	if_nameindex \
+	isnanf \
 	kqueue \
 	lstat \
 	memmove \
diff --git a/configure.ac b/configure.ac
index ab8945a26ab..b40fde49bb6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2045,6 +2045,7 @@ AC_CHECK_FUNCS(\
 	dlopen \
 	epoll_create \
 	ffs \
+	finitef \
 	fnmatch \
 	fork \
 	fpclass \
@@ -2061,6 +2062,7 @@ AC_CHECK_FUNCS(\
 	gettimeofday \
 	getuid \
 	if_nameindex \
+	isnanf \
 	kqueue \
 	lstat \
 	memmove \
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index 284924a3fda..acac35d18b6 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -34,6 +34,18 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
 
+#ifndef HAVE_FINITEF
+#define finitef(x) isfinite(x)
+#endif
+
+#ifndef HAVE_ISNANF
+#ifdef HAVE_ISNAN
+#define isnanf(x) isnan(x)
+#else
+#define isnanf(x) 0
+#endif
+#endif
+
 #ifndef signbit
 #define signbit(x) 0
 #endif
diff --git a/include/config.h.in b/include/config.h.in
index a8ae6c576bf..4d7c7acf859 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -123,6 +123,9 @@
 /* Define to 1 if you have the `ffs' function. */
 #undef HAVE_FFS
 
+/* Define to 1 if you have the `finitef' function. */
+#undef HAVE_FINITEF
+
 /* Define to 1 if you have the <float.h> header file. */
 #undef HAVE_FLOAT_H
 
@@ -279,6 +282,9 @@
 /* Define to 1 if you have the `isnan' function. */
 #undef HAVE_ISNAN
 
+/* Define to 1 if you have the `isnanf' function. */
+#undef HAVE_ISNANF
+
 /* Define to 1 if you have the <jpeglib.h> header file. */
 #undef HAVE_JPEGLIB_H
 
-- 
GitLab