aboutsummaryrefslogtreecommitdiff
path: root/contrib/libc++/include/cmath
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libc++/include/cmath')
-rw-r--r--contrib/libc++/include/cmath18
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