Index: libcxx/include/math.h =================================================================== --- libcxx/include/math.h +++ libcxx/include/math.h @@ -297,8 +297,17 @@ #pragma GCC system_header #endif +#if defined(_AIX) && !defined(__COMPATMATH__) +#define __COMPATMATH_WAS_NOT_DEFINED +#define __COMPATMATH__ 1 +#endif + #include_next +#if defined(_AIX) && defined(__COMPATMATH_WAS_NOT_DEFINED) +#undef __COMPATMATH__ +#endif + #ifdef __cplusplus // We support including .h headers inside 'extern "C"' contexts, so switch @@ -788,7 +797,7 @@ // acos -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT {return ::acosf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) _NOEXCEPT {return ::acosl(__lcpp_x);} #endif @@ -800,7 +809,7 @@ // asin -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float asin(float __lcpp_x) _NOEXCEPT {return ::asinf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x) _NOEXCEPT {return ::asinl(__lcpp_x);} #endif @@ -812,7 +821,7 @@ // atan -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float atan(float __lcpp_x) _NOEXCEPT {return ::atanf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double atan(long double __lcpp_x) _NOEXCEPT {return ::atanl(__lcpp_x);} #endif @@ -824,7 +833,7 @@ // atan2 -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float atan2(float __lcpp_y, float __lcpp_x) _NOEXCEPT {return ::atan2f(__lcpp_y, __lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __lcpp_y, long double __lcpp_x) _NOEXCEPT {return ::atan2l(__lcpp_y, __lcpp_x);} #endif @@ -847,7 +856,7 @@ // ceil -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float ceil(float __lcpp_x) _NOEXCEPT {return ::ceilf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double ceil(long double __lcpp_x) _NOEXCEPT {return ::ceill(__lcpp_x);} #endif @@ -859,7 +868,7 @@ // cos -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float cos(float __lcpp_x) _NOEXCEPT {return ::cosf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double cos(long double __lcpp_x) _NOEXCEPT {return ::cosl(__lcpp_x);} #endif @@ -871,7 +880,7 @@ // cosh -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float cosh(float __lcpp_x) _NOEXCEPT {return ::coshf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __lcpp_x) _NOEXCEPT {return ::coshl(__lcpp_x);} #endif @@ -883,7 +892,7 @@ // exp -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float exp(float __lcpp_x) _NOEXCEPT {return ::expf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __lcpp_x) _NOEXCEPT {return ::expl(__lcpp_x);} #endif @@ -895,7 +904,7 @@ // fabs -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float fabs(float __lcpp_x) _NOEXCEPT {return ::fabsf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double fabs(long double __lcpp_x) _NOEXCEPT {return ::fabsl(__lcpp_x);} #endif @@ -907,7 +916,7 @@ // floor -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float floor(float __lcpp_x) _NOEXCEPT {return ::floorf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double floor(long double __lcpp_x) _NOEXCEPT {return ::floorl(__lcpp_x);} #endif @@ -919,7 +928,7 @@ // fmod -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float fmod(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return ::fmodf(__lcpp_x, __lcpp_y);} inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::fmodl(__lcpp_x, __lcpp_y);} #endif @@ -942,7 +951,7 @@ // frexp -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float frexp(float __lcpp_x, int* __lcpp_e) _NOEXCEPT {return ::frexpf(__lcpp_x, __lcpp_e);} inline _LIBCPP_INLINE_VISIBILITY long double frexp(long double __lcpp_x, int* __lcpp_e) _NOEXCEPT {return ::frexpl(__lcpp_x, __lcpp_e);} #endif @@ -954,7 +963,7 @@ // ldexp -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float ldexp(float __lcpp_x, int __lcpp_e) _NOEXCEPT {return ::ldexpf(__lcpp_x, __lcpp_e);} inline _LIBCPP_INLINE_VISIBILITY long double ldexp(long double __lcpp_x, int __lcpp_e) _NOEXCEPT {return ::ldexpl(__lcpp_x, __lcpp_e);} #endif @@ -966,7 +975,7 @@ // log -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float log(float __lcpp_x) _NOEXCEPT {return ::logf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double log(long double __lcpp_x) _NOEXCEPT {return ::logl(__lcpp_x);} #endif @@ -978,7 +987,7 @@ // log10 -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float log10(float __lcpp_x) _NOEXCEPT {return ::log10f(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __lcpp_x) _NOEXCEPT {return ::log10l(__lcpp_x);} #endif @@ -990,14 +999,14 @@ // modf -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float modf(float __lcpp_x, float* __lcpp_y) _NOEXCEPT {return ::modff(__lcpp_x, __lcpp_y);} inline _LIBCPP_INLINE_VISIBILITY long double modf(long double __lcpp_x, long double* __lcpp_y) _NOEXCEPT {return ::modfl(__lcpp_x, __lcpp_y);} #endif // pow -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float pow(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return ::powf(__lcpp_x, __lcpp_y);} inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::powl(__lcpp_x, __lcpp_y);} #endif @@ -1020,7 +1029,7 @@ // sin -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float sin(float __lcpp_x) _NOEXCEPT {return ::sinf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __lcpp_x) _NOEXCEPT {return ::sinl(__lcpp_x);} #endif @@ -1032,7 +1041,7 @@ // sinh -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float sinh(float __lcpp_x) _NOEXCEPT {return ::sinhf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __lcpp_x) _NOEXCEPT {return ::sinhl(__lcpp_x);} #endif @@ -1044,7 +1053,7 @@ // sqrt -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float sqrt(float __lcpp_x) _NOEXCEPT {return ::sqrtf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __lcpp_x) _NOEXCEPT {return ::sqrtl(__lcpp_x);} #endif @@ -1056,7 +1065,7 @@ // tan -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float tan(float __lcpp_x) _NOEXCEPT {return ::tanf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __lcpp_x) _NOEXCEPT {return ::tanl(__lcpp_x);} #endif @@ -1068,7 +1077,7 @@ // tanh -#if !(defined(_AIX) || defined(__sun__)) +#if !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY float tanh(float __lcpp_x) _NOEXCEPT {return ::tanhf(__lcpp_x);} inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __lcpp_x) _NOEXCEPT {return ::tanhl(__lcpp_x);} #endif