diff --git a/libcxx/include/clocale b/libcxx/include/clocale --- a/libcxx/include/clocale +++ b/libcxx/include/clocale @@ -47,7 +47,9 @@ #ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS using ::setlocale; #endif +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 21) using ::localeconv; +#endif _LIBCPP_END_NAMESPACE_STD diff --git a/libcxx/include/cmath b/libcxx/include/cmath --- a/libcxx/include/cmath +++ b/libcxx/include/cmath @@ -450,7 +450,9 @@ using ::nearbyintf; using ::nextafter; using ::nextafterf; +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 18) using ::nexttoward; +#endif using ::nexttowardf; using ::remainder; using ::remainderf; @@ -460,8 +462,10 @@ using ::rintf; using ::round; using ::roundf; +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 18) using ::scalbln; using ::scalblnf; +#endif using ::scalbn; using ::scalbnf; using ::tgamma; @@ -519,13 +523,19 @@ using ::lroundl; using ::nanl; using ::nearbyintl; +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 21) using ::nextafterl; +#endif +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 18) using ::nexttowardl; +#endif using ::remainderl; using ::remquol; using ::rintl; using ::roundl; +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 18) using ::scalblnl; +#endif using ::scalbnl; using ::tgammal; using ::truncl; diff --git a/libcxx/include/cstdlib b/libcxx/include/cstdlib --- a/libcxx/include/cstdlib +++ b/libcxx/include/cstdlib @@ -145,9 +145,13 @@ #ifndef _LIBCPP_HAS_NO_LONG_LONG using ::lldiv; #endif // _LIBCPP_HAS_NO_LONG_LONG +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 26) using ::mblen; +#endif +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 21) using ::mbtowc; using ::wctomb; +#endif using ::mbstowcs; using ::wcstombs; #if !defined(_LIBCPP_CXX03_LANG) && defined(_LIBCPP_HAS_QUICK_EXIT) diff --git a/libcxx/include/cwctype b/libcxx/include/cwctype --- a/libcxx/include/cwctype +++ b/libcxx/include/cwctype @@ -78,8 +78,10 @@ using ::wctype; using ::towlower; using ::towupper; +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 26) using ::towctrans; using ::wctrans; +#endif _LIBCPP_END_NAMESPACE_STD diff --git a/libcxx/include/math.h b/libcxx/include/math.h --- a/libcxx/include/math.h +++ b/libcxx/include/math.h @@ -1396,6 +1396,7 @@ // nexttoward +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 18) inline _LIBCPP_INLINE_VISIBILITY float nexttoward(float __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::nexttowardf(__lcpp_x, __lcpp_y);} inline _LIBCPP_INLINE_VISIBILITY long double nexttoward(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::nexttowardl(__lcpp_x, __lcpp_y);} @@ -1403,6 +1404,7 @@ inline _LIBCPP_INLINE_VISIBILITY typename std::enable_if::value, double>::type nexttoward(_A1 __lcpp_x, long double __lcpp_y) _NOEXCEPT {return ::nexttoward((double)__lcpp_x, __lcpp_y);} +#endif // remainder @@ -1468,6 +1470,7 @@ // scalbln +#if !defined(__ANDROID__) || (__ANDROID_API__ >= 18) inline _LIBCPP_INLINE_VISIBILITY float scalbln(float __lcpp_x, long __lcpp_y) _NOEXCEPT {return ::scalblnf(__lcpp_x, __lcpp_y);} inline _LIBCPP_INLINE_VISIBILITY long double scalbln(long double __lcpp_x, long __lcpp_y) _NOEXCEPT {return ::scalblnl(__lcpp_x, __lcpp_y);} @@ -1475,6 +1478,7 @@ inline _LIBCPP_INLINE_VISIBILITY typename std::enable_if::value, double>::type scalbln(_A1 __lcpp_x, long __lcpp_y) _NOEXCEPT {return ::scalbln((double)__lcpp_x, __lcpp_y);} +#endif // scalbn