1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
diff --git a/include/__memory/uninitialized_algorithms.h b/include/__memory/uninitialized_algorithms.h
index 2b68df8..058ff46 100644
--- a/include/__memory/uninitialized_algorithms.h
+++ b/include/__memory/uninitialized_algorithms.h
@@ -566,6 +566,7 @@ struct __allocator_has_trivial_copy_construct : _Not<__has_construct<_Alloc, _Ty
template <class _Type>
struct __allocator_has_trivial_copy_construct<allocator<_Type>, _Type> : true_type {};
+#ifndef __CUDACC__
template <class _Alloc,
class _In,
class _RawTypeIn = __remove_const_t<_In>,
@@ -589,6 +590,7 @@ __uninitialized_allocator_copy_impl(_Alloc&, _In* __first1, _In* __last1, _Out*
return std::copy(__first1, __last1, const_cast<_RawTypeIn*>(__first2));
}
}
+#endif // __CUDACC__
template <class _Alloc, class _Iter1, class _Sent1, class _Iter2>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Iter2 __uninitialized_allocator_copy(_Alloc& __alloc, _Iter1 __first1, _Sent1 __last1, _Iter2 __first2) {
@@ -629,7 +631,7 @@ struct __allocator_has_trivial_move_construct : _Not<__has_construct<_Alloc, _Ty
template <class _Type>
struct __allocator_has_trivial_move_construct<allocator<_Type>, _Type> : true_type {};
-#ifndef _LIBCPP_COMPILER_GCC
+#if !defined(_LIBCPP_COMPILER_GCC) && !defined(__CUDACC__)
template <
class _Alloc,
class _Iter1,
@@ -650,7 +652,7 @@ __uninitialized_allocator_move_if_noexcept(_Alloc&, _Iter1 __first1, _Iter1 __la
return std::move(__first1, __last1, __first2);
}
}
-#endif // _LIBCPP_COMPILER_GCC
+#endif // !defined(_LIBCPP_COMPILER_GCC) && !defined(__CUDACC__)
_LIBCPP_END_NAMESPACE_STD
|