[PATCH 5/9] msvcr120: Add acosh.

Alex Henrie alexhenrie24 at gmail.com
Sun Jul 9 23:55:06 CDT 2017


Fixes https://bugs.winehq.org/show_bug.cgi?id=43303

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
 configure.ac                                       |  1 +
 .../api-ms-win-crt-math-l1-1-0.spec                |  6 ++---
 dlls/msvcr120/msvcr120.spec                        |  6 ++---
 dlls/msvcr120_app/msvcr120_app.spec                |  6 ++---
 dlls/msvcrt/math.c                                 | 28 ++++++++++++++++++++++
 dlls/ucrtbase/ucrtbase.spec                        |  6 ++---
 6 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/configure.ac b/configure.ac
index 2186ee1b6f..7d05f402fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2593,6 +2593,7 @@ then
 fi
 
 AC_CHECK_FUNCS(\
+	acoshf \
 	asinhf \
 	cbrt \
 	cbrtf \
diff --git a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
index 5d2499b782..5c644326ce 100644
--- a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
@@ -124,9 +124,9 @@
 @ cdecl _yn(long double) ucrtbase._yn
 @ cdecl acos(double) ucrtbase.acos
 @ cdecl -arch=arm,x86_64 acosf(float) ucrtbase.acosf
-@ stub acosh
-@ stub acoshf
-@ stub acoshl
+@ cdecl acosh(double) ucrtbase.acosh
+@ cdecl acoshf(float) ucrtbase.acoshf
+@ cdecl acoshl(double) ucrtbase.acoshl
 @ cdecl asin(double) ucrtbase.asin
 @ cdecl -arch=arm,x86_64 asinf(float) ucrtbase.asinf
 @ cdecl asinh(double) ucrtbase.asinh
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 989a3cb572..7899622f69 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -2011,9 +2011,9 @@
 @ cdecl abs(long) MSVCRT_abs
 @ cdecl acos(double) MSVCRT_acos
 @ cdecl -arch=arm,x86_64 acosf(float) MSVCRT_acosf
-@ stub acosh
-@ stub acoshf
-@ stub acoshl
+@ cdecl acosh(double) MSVCR120_acosh
+@ cdecl acoshf(float) MSVCR120_acoshf
+@ cdecl acoshl(double) MSVCR120_acoshl
 @ cdecl asctime(ptr) MSVCRT_asctime
 @ cdecl asctime_s(ptr long ptr) MSVCRT_asctime_s
 @ cdecl asin(double) MSVCRT_asin
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 345bb51a10..9a5da20ca8 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -1677,9 +1677,9 @@
 @ cdecl abs(long) msvcr120.abs
 @ cdecl acos(double) msvcr120.acos
 @ cdecl -arch=arm,x86_64 acosf(float) msvcr120.acosf
-@ stub acosh
-@ stub acoshf
-@ stub acoshl
+@ cdecl acosh(double) msvcr120.acosh
+@ cdecl acoshf(float) msvcr120.acoshf
+@ cdecl acoshl(double) msvcr120.acoshl
 @ cdecl asctime(ptr) msvcr120.asctime
 @ cdecl asctime_s(ptr long ptr) msvcr120.asctime_s
 @ cdecl asin(double) msvcr120.asin
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index c5a6dbd215..fb712189d0 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -2887,6 +2887,34 @@ LDOUBLE CDECL MSVCR120_asinhl(LDOUBLE x)
 }
 
 /*********************************************************************
+ *      acosh (MSVCR120.@)
+ */
+double CDECL MSVCR120_acosh(double x)
+{
+    return acosh(x);
+}
+
+/*********************************************************************
+ *      acoshf (MSVCR120.@)
+ */
+float CDECL MSVCR120_acoshf(float x)
+{
+#ifdef HAVE_ACOSHF
+    return acoshf(x);
+#else
+    return acosh(x);
+#endif
+}
+
+/*********************************************************************
+ *      acoshl (MSVCR120.@)
+ */
+LDOUBLE CDECL MSVCR120_acoshl(LDOUBLE x)
+{
+    return acosh(x);
+}
+
+/*********************************************************************
  *      _scalb  (MSVCRT.@)
  *      scalbn  (MSVCR120.@)
  *      scalbln (MSVCR120.@)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 3e7c79564c..1eae07222d 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -2153,9 +2153,9 @@
 @ cdecl abs(long) MSVCRT_abs
 @ cdecl acos(double) MSVCRT_acos
 @ cdecl -arch=arm,x86_64 acosf(float) MSVCRT_acosf
-@ stub acosh
-@ stub acoshf
-@ stub acoshl
+@ cdecl acosh(double) MSVCR120_acosh
+@ cdecl acoshf(float) MSVCR120_acoshf
+@ cdecl acoshl(double) MSVCR120_acoshl
 @ cdecl asctime(ptr) MSVCRT_asctime
 @ cdecl asctime_s(ptr long ptr) MSVCRT_asctime_s
 @ cdecl asin(double) MSVCRT_asin
-- 
2.13.2




More information about the wine-patches mailing list