diff options
Diffstat (limited to 'contrib/libc++/include/cmath')
-rw-r--r-- | contrib/libc++/include/cmath | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/contrib/libc++/include/cmath b/contrib/libc++/include/cmath index d3aa4beeb584..5f9aaedd5afa 100644 --- a/contrib/libc++/include/cmath +++ b/contrib/libc++/include/cmath @@ -654,7 +654,11 @@ using ::double_t; // abs -#if !defined(_AIX) +#if defined(__sun__) +using ::abs; +#endif + +#if !defined(_AIX) && !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} @@ -1109,8 +1113,16 @@ cbrt(_A1 __lcpp_x) _NOEXCEPT {return cbrt((double)__lcpp_x);} using ::copysign; using ::copysignf; -inline _LIBCPP_INLINE_VISIBILITY float copysign(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return copysignf(__lcpp_x, __lcpp_y);} -inline _LIBCPP_INLINE_VISIBILITY long double copysign(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return copysignl(__lcpp_x, __lcpp_y);} +#if !defined(_VC_CRT_MAJOR_VERSION) || (_VC_CRT_MAJOR_VERSION < 12) +inline _LIBCPP_INLINE_VISIBILITY float copysign(float __lcpp_x, + float __lcpp_y) _NOEXCEPT { + return copysignf(__lcpp_x, __lcpp_y); +} +inline _LIBCPP_INLINE_VISIBILITY long double +copysign(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT { + return copysignl(__lcpp_x, __lcpp_y); +} +#endif template <class _A1, class _A2> inline _LIBCPP_INLINE_VISIBILITY |