diff --git a/configure b/configure index 61ff110a9d4..690f9333f14 100755 --- a/configure +++ b/configure @@ -19635,7 +19635,6 @@ for ac_func in \ lgammaf \ llrint \ llrintf \ - llround \ log1p \ log1pf \ log2 \ diff --git a/configure.ac b/configure.ac index a8842bcb52a..b0977c112b4 100644 --- a/configure.ac +++ b/configure.ac @@ -2678,7 +2678,6 @@ AC_CHECK_FUNCS(\ lgammaf \ llrint \ llrintf \ - llround \ log1p \ log1pf \ log2 \ diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index e5c2ed66d2b..c8dd53cf095 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -4376,10 +4376,17 @@ __msvcrt_long CDECL lroundf(float x) /********************************************************************* * llround (MSVCR120.@) + * + * Copied from musl: src/math/llround.c */ __int64 CDECL llround(double x) { - return unix_funcs->llround( x ); + double d = round(x); + if (d != (double)(__int64)d) { + *_errno() = EDOM; + return 0; + } + return d; } /********************************************************************* diff --git a/dlls/msvcrt/unixlib.c b/dlls/msvcrt/unixlib.c index e23456e8250..e3ddd486e93 100644 --- a/dlls/msvcrt/unixlib.c +++ b/dlls/msvcrt/unixlib.c @@ -789,18 +789,6 @@ static int CDECL unix_lroundf(float x) #endif } -/********************************************************************* - * llround - */ -static __int64 CDECL unix_llround(double x) -{ -#ifdef HAVE_LLROUND - return llround(x); -#else - return unix_round(x); -#endif -} - /********************************************************************* * sin */ @@ -956,7 +944,6 @@ static const struct unix_funcs funcs = unix_lgammaf, unix_llrint, unix_llrintf, - unix_llround, unix_log, unix_logf, unix_log10, diff --git a/dlls/msvcrt/unixlib.h b/dlls/msvcrt/unixlib.h index db090a9a2aa..49ec319d219 100644 --- a/dlls/msvcrt/unixlib.h +++ b/dlls/msvcrt/unixlib.h @@ -62,7 +62,6 @@ struct unix_funcs float (CDECL *lgammaf)(float x); __int64 (CDECL *llrint)(double x); __int64 (CDECL *llrintf)(float x); - __int64 (CDECL *llround)(double x); double (CDECL *log)(double x); float (CDECL *logf)(float x); double (CDECL *log10)(double x); diff --git a/include/config.h.in b/include/config.h.in index 25c4e3f42ec..71f9f4350b0 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -459,9 +459,6 @@ /* Define to 1 if you have the `llrintf' function. */ #undef HAVE_LLRINTF -/* Define to 1 if you have the `llround' function. */ -#undef HAVE_LLROUND - /* Define to 1 if you have the `log1p' function. */ #undef HAVE_LOG1P