diff --git a/libcxx/include/__algorithm/equal.h b/libcxx/include/__algorithm/equal.h --- a/libcxx/include/__algorithm/equal.h +++ b/libcxx/include/__algorithm/equal.h @@ -46,7 +46,7 @@ class _Up, class _BinaryPredicate, __enable_if_t<__is_trivial_equality_predicate<_BinaryPredicate, _Tp, _Up>::value && !is_volatile<_Tp>::value && - !is_volatile<_Up>::value && __is_trivially_equality_comparable<_Tp, _Up>::value, + !is_volatile<_Up>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, int> = 0> _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool __equal_iter_impl(_Tp* __first1, _Tp* __last1, _Up* __first2, _BinaryPredicate&) { @@ -96,7 +96,7 @@ class _Proj2, __enable_if_t<__is_trivial_equality_predicate<_Pred, _Tp, _Up>::value && __is_identity<_Proj1>::value && __is_identity<_Proj2>::value && !is_volatile<_Tp>::value && !is_volatile<_Up>::value && - __is_trivially_equality_comparable<_Tp, _Up>::value, + __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, int> = 0> _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool __equal_impl( _Tp* __first1, _Tp* __last1, _Up* __first2, _Up*, _Pred&, _Proj1&, _Proj2&) { diff --git a/libcxx/include/__string/constexpr_c_functions.h b/libcxx/include/__string/constexpr_c_functions.h --- a/libcxx/include/__string/constexpr_c_functions.h +++ b/libcxx/include/__string/constexpr_c_functions.h @@ -38,8 +38,8 @@ template _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 int __constexpr_memcmp(const _Tp* __lhs, const _Up* __rhs, size_t __count) { - static_assert( - __is_trivially_equality_comparable<_Tp, _Up>::value, "_Tp and _Up have to be trivially equality comparable"); + static_assert(__libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, + "_Tp and _Up have to be trivially equality comparable"); if (__libcpp_is_constant_evaluated()) { #ifdef _LIBCPP_COMPILER_CLANG_BASED diff --git a/libcxx/include/__type_traits/is_equality_comparable.h b/libcxx/include/__type_traits/is_equality_comparable.h --- a/libcxx/include/__type_traits/is_equality_comparable.h +++ b/libcxx/include/__type_traits/is_equality_comparable.h @@ -43,14 +43,14 @@ // always compared. template -struct __is_trivially_equality_comparable +struct __libcpp_is_trivially_equality_comparable : integral_constant::value && is_integral<_Tp>::value && is_same<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >::value> {}; // TODO: Use is_pointer_inverconvertible_base_of template -struct __is_trivially_equality_comparable<_Tp*, _Up*> +struct __libcpp_is_trivially_equality_comparable<_Tp*, _Up*> : integral_constant< bool, __is_equality_comparable<_Tp*, _Up*>::value && diff --git a/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp b/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp --- a/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp +++ b/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp @@ -13,32 +13,32 @@ enum Enum : int {}; enum class EnumClass : int {}; -static_assert(std::__is_trivially_equality_comparable::value, ""); -static_assert(std::__is_trivially_equality_comparable::value, ""); -static_assert(std::__is_trivially_equality_comparable::value, ""); +static_assert(std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(std::__libcpp_is_trivially_equality_comparable::value, ""); -static_assert(std::__is_trivially_equality_comparable::value, ""); -static_assert(std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); -static_assert(std::__is_trivially_equality_comparable::value, ""); -static_assert(std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); struct S { char c; @@ -51,8 +51,8 @@ struct VirtualBase : virtual S {}; struct NonVirtualBase : S, S2 {}; -static_assert(!std::__is_trivially_equality_comparable::value, ""); -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, ""); // This is trivially_equality_comparable, but we can't detect it currently -static_assert(!std::__is_trivially_equality_comparable::value, ""); +static_assert(!std::__libcpp_is_trivially_equality_comparable::value, "");