aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/tuple
diff options
context:
space:
mode:
authorJoe Loser <joeloser93@gmail.com>2022-03-12 10:46:57 -0500
committerJoe Loser <joeloser93@gmail.com>2022-03-13 12:32:06 -0400
commitd2baefae6846765eef6a6dd69d4fdf1082ce29ad (patch)
tree929c93112f8bc3cb54f7c41c6b8f35c3a5a4b594 /libcxx/include/tuple
parentc2592c374e469f343ecea82d6728609650924259 (diff)
downloadllvm-d2baefae6846765eef6a6dd69d4fdf1082ce29ad.zip
llvm-d2baefae6846765eef6a6dd69d4fdf1082ce29ad.tar.gz
llvm-d2baefae6846765eef6a6dd69d4fdf1082ce29ad.tar.bz2
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.
All supported compilers that support C++20 now support concepts. So, remove `_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBCPP_STD_VER > 17`. Similarly in the tests, remove `// UNSUPPORTED: libcpp-no-concepts`. Differential Revision: https://reviews.llvm.org/D121528
Diffstat (limited to 'libcxx/include/tuple')
-rw-r--r--libcxx/include/tuple10
1 files changed, 5 insertions, 5 deletions
diff --git a/libcxx/include/tuple b/libcxx/include/tuple
index da5b8d4..ab1202d 100644
--- a/libcxx/include/tuple
+++ b/libcxx/include/tuple
@@ -1130,7 +1130,7 @@ public:
void swap(tuple&) _NOEXCEPT {}
};
-#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_CONCEPTS)
+#if _LIBCPP_STD_VER > 20
template <class... _TTypes, class... _UTypes, template<class> class _TQual, template<class> class _UQual>
requires requires { typename tuple<common_reference_t<_TQual<_TTypes>, _UQual<_UTypes>>...>; }
struct basic_common_reference<tuple<_TTypes...>, tuple<_UTypes...>, _TQual, _UQual> {
@@ -1142,7 +1142,7 @@ template <class... _TTypes, class... _UTypes>
struct common_type<tuple<_TTypes...>, tuple<_UTypes...>> {
using type = tuple<common_type_t<_TTypes, _UTypes>...>;
};
-#endif // _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_CONCEPTS)
+#endif // _LIBCPP_STD_VER > 20
#if _LIBCPP_STD_VER > 14
template <class ..._Tp>
@@ -1347,7 +1347,7 @@ operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
return __tuple_equal<sizeof...(_Tp)>()(__x, __y);
}
-#if !defined(_LIBCPP_HAS_NO_CONCEPTS)
+#if _LIBCPP_STD_VER > 17
// operator<=>
@@ -1369,7 +1369,7 @@ operator<=>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
return _VSTD::__tuple_compare_three_way(__x, __y, index_sequence_for<_Tp...>{});
}
-#else // !defined(_LIBCPP_HAS_NO_CONCEPTS)
+#else // _LIBCPP_STD_VER > 17
template <class ..._Tp, class ..._Up>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
@@ -1439,7 +1439,7 @@ operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
return !(__y < __x);
}
-#endif // !defined(_LIBCPP_HAS_NO_CONCEPTS)
+#endif // _LIBCPP_STD_VER > 17
// tuple_cat