[libc++][AIX] Use C++ overloads from libc++'s math.h

AIX's system header provides these C++ overloads for compatibility with
older XL C++ implementations, but they can be disabled by defining
__LIBC_NO_CPP_MATH_OVERLOADS__ since AIX 7.2 TL 5 SP 3.

Since D109078 landed clang will define this macro when using libc++ on
AIX and we already run the lit tests with it too. This change will
enable the overloads in libc++'s math.h and we'll continue to require
the compiler to define the macro going forward.

Reviewed By: ldionne, jsji, EricWF

Differential Revision: https://reviews.llvm.org/D102172

co-authored-by: Jason Liu <jasonliu.development@gmail.com>
NOKEYCHECK=True
GitOrigin-RevId: f642436cc213f99a90e3a4258666dd693b29d79d
diff --git a/include/math.h b/include/math.h
index e2fd576..7d553e7 100644
--- a/include/math.h
+++ b/include/math.h
@@ -788,10 +788,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -800,10 +800,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -812,10 +812,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -824,10 +824,10 @@
 
 // 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
+#    endif
 
 template <class _A1, class _A2>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -847,10 +847,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -859,10 +859,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -871,10 +871,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -883,10 +883,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -895,10 +895,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -907,10 +907,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -919,10 +919,10 @@
 
 // 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
+#    endif
 
 template <class _A1, class _A2>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -942,10 +942,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -954,10 +954,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -966,10 +966,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -978,10 +978,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -990,17 +990,17 @@
 
 // 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
+#    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
+#    endif
 
 template <class _A1, class _A2>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -1020,7 +1020,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,10 +1032,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -1044,10 +1044,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -1056,10 +1056,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -1068,10 +1068,10 @@
 
 // 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
+#    endif
 
 template <class _A1>
 inline _LIBCPP_INLINE_VISIBILITY