diff options
author | Maxim Yurchuk <maxim-yurchuk@ydb.tech> | 2024-11-20 17:37:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-20 17:37:57 +0000 |
commit | f76323e9b295c15751e51e3443aa47a36bee8023 (patch) | |
tree | 4113c8cad473a33e0f746966e0cf087252fa1d7a /contrib/libs/cxxsupp/libcxx/patches/28-cudacc.patch | |
parent | 753ecb8d410a4cb459c26f3a0082fb2d1724fe63 (diff) | |
parent | a7b9a6afea2a9d7a7bfac4c5eb4c1a8e60adb9e6 (diff) | |
download | ydb-f76323e9b295c15751e51e3443aa47a36bee8023.tar.gz |
Merge pull request #11788 from ydb-platform/mergelibs-241120-1113
Library import 241120-1113
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/patches/28-cudacc.patch')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/patches/28-cudacc.patch | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/patches/28-cudacc.patch b/contrib/libs/cxxsupp/libcxx/patches/28-cudacc.patch index ca2774a7b6..4dc661418a 100644 --- a/contrib/libs/cxxsupp/libcxx/patches/28-cudacc.patch +++ b/contrib/libs/cxxsupp/libcxx/patches/28-cudacc.patch @@ -1,3 +1,16 @@ +diff --git a/include/__iterator/reverse_iterator.h b/include/__iterator/reverse_iterator.h +index beb10f7..c1241da 100644 +--- a/include/__iterator/reverse_iterator.h ++++ b/include/__iterator/reverse_iterator.h +@@ -144,7 +144,7 @@ public: + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX17 + reference operator*() const {_Iter __tmp = current; return *--__tmp;} + +-#if _LIBCPP_STD_VER >= 20 ++#if (_LIBCPP_STD_VER >= 20) && !defined(__CUDACC__) + _LIBCPP_INLINE_VISIBILITY + constexpr pointer operator->() const + requires is_pointer_v<_Iter> || requires(const _Iter __i) { __i.operator->(); } diff --git a/include/__iterator/segmented_iterator.h b/include/__iterator/segmented_iterator.h index f3cd1e5..c0a77ef 100644 --- a/include/__iterator/segmented_iterator.h @@ -57,7 +70,7 @@ index c8ffde9..7f44242 100644 } // namespace literals #endif diff --git a/include/tuple b/include/tuple -index e7fc1e2..eb1785c 100644 +index 138c132..63adb8e 100644 --- a/include/tuple +++ b/include/tuple @@ -308,7 +308,7 @@ class __tuple_leaf @@ -69,3 +82,16 @@ index e7fc1e2..eb1785c 100644 return !__reference_binds_to_temporary(_Hp, _Tp); #else return true; +@@ -670,6 +670,12 @@ _LIBCPP_GCC_DIAGNOSTIC_IGNORED("-Wc++20-extensions") + _And< + _BoolConstant<sizeof...(_Up) == sizeof...(_Tp)>, + _EnableUTypesCtor<_Up...> ++// nvcc 12.2 cannot choose between tuple(const T& ... t) and tuple(U&&... u) ++// so we have to added an explicit requires in enable_if ++#ifdef __CUDACC__ ++ , ++ _Not<_And<is_copy_constructible<_Tp>..., _Lazy<_And, is_convertible<_Up, const _Tp&>...>> > ++#endif + >::value + , int> = 0> + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX14 |