================ @@ -283,12 +283,18 @@ set(cuda_wrapper_files cuda_wrappers/cmath cuda_wrappers/complex cuda_wrappers/new + cuda_wrappers/type_traits ) set(cuda_wrapper_bits_files cuda_wrappers/bits/shared_ptr_base.h cuda_wrappers/bits/basic_string.h cuda_wrappers/bits/basic_string.tcc + cuda_wrappers/bits/move.h +) + +set(cuda_wrapper_utility_files + cuda_wrappers/__utility/swap.h ---------------- yxsamliu wrote:
well we got difficulty with MSVC. [2023-10-27T02:08:50.900Z] In file included from <built-in>:1: [2023-10-27T02:08:50.901Z] In file included from C:\Jenkins\workspace\compute-cpl-psdb\driver_build\drivers\compute\install\native\Release\x64\lc\lib\clang\18\include\__clang_hip_runtime_wrapper.h:143: [2023-10-27T02:08:50.901Z] In file included from C:\Jenkins\workspace\compute-cpl-psdb\driver_build\drivers\compute\install\native\Release\x64\lc\lib\clang\18\include\__clang_hip_cmath.h:21: [2023-10-27T02:08:50.901Z] C:/dk/win\vc\14.31.31107\include\utility:82:19: error: __host__ function 'swap' cannot overload __host__ __device__ function 'swap' [2023-10-27T02:08:50.901Z] 82 | _CONSTEXPR20 void swap(_Ty (&_Left)[_Size], _Ty (&_Right)[_Size]) noexcept(_Is_nothrow_swappable<_Ty>::value) { [2023-10-27T02:08:50.901Z] | ^ [2023-10-27T02:08:50.901Z] C:/dk/win\vc\14.31.31107\include\type_traits:1898:19: note: previous declaration is here [2023-10-27T02:08:50.901Z] 1898 | _CONSTEXPR20 void swap(_Ty (&)[_Size], _Ty (&)[_Size]) noexcept(_Is_nothrow_swappable<_Ty>::value); [2023-10-27T02:08:50.901Z] | ^ Basically <type_traits> declares swap, which becomes host device. But it is defined in <utility>. To avoid conflict, we have to wrap up <utility>. However, <utility> includes <concepts> and <compare>. https://github.com/llvm/llvm-project/pull/70369 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits