The mingw lgamma functions set the signgam variable (which provides
information about the last lgamma call, thread-unsafely though), which
the UCRT ones don't provide (and obviously doesn't touch the one
provided by libmingwex).

As this is an interface provided by mingw lgamma so far, we shouldn't
use the UCRT lgamma functions.

Signed-off-by: Martin Storsjö <[email protected]>
---
 .../lib-common/api-ms-win-crt-math-l1-1-0.def.in          | 8 +++++---
 mingw-w64-crt/lib-common/ucrtbase.def.in                  | 8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/mingw-w64-crt/lib-common/api-ms-win-crt-math-l1-1-0.def.in 
b/mingw-w64-crt/lib-common/api-ms-win-crt-math-l1-1-0.def.in
index a7f339344..86a3ba0c2 100644
--- a/mingw-w64-crt/lib-common/api-ms-win-crt-math-l1-1-0.def.in
+++ b/mingw-w64-crt/lib-common/api-ms-win-crt-math-l1-1-0.def.in
@@ -292,9 +292,11 @@ ilogb
 ilogbf
 ilogbl
 ldexp F_X86_ANY(DATA)
-lgamma
-lgammaf
-lgammal
+; The UCRT lgamma functions don't set/provide the signgam variable like
+; the mingw ones do. Therefore prefer the libmingwex version instead.
+lgamma DATA
+lgammaf DATA
+lgammal DATA
 llrint
 llrintf
 llrintl
diff --git a/mingw-w64-crt/lib-common/ucrtbase.def.in 
b/mingw-w64-crt/lib-common/ucrtbase.def.in
index 1c19f0975..1bb153aa8 100644
--- a/mingw-w64-crt/lib-common/ucrtbase.def.in
+++ b/mingw-w64-crt/lib-common/ucrtbase.def.in
@@ -2414,9 +2414,11 @@ isxdigit
 labs
 ldexp F_X86_ANY(DATA)
 ldiv
-lgamma
-lgammaf
-lgammal
+; The UCRT lgamma functions don't set/provide the signgam variable like
+; the mingw ones do. Therefore prefer the libmingwex version instead.
+lgamma DATA
+lgammaf DATA
+lgammal DATA
 llabs
 lldiv
 llrint
-- 
2.17.1



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to