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
