diff --git a/libcudacxx/include/cuda/std/__cuda/api_wrapper.h b/libcudacxx/include/cuda/std/__cuda/api_wrapper.h index d6d6a9d256b..61dc291b1ce 100644 --- a/libcudacxx/include/cuda/std/__cuda/api_wrapper.h +++ b/libcudacxx/include/cuda/std/__cuda/api_wrapper.h @@ -21,11 +21,13 @@ # pragma system_header #endif // no system header -#if _CCCL_HAS_CUDA_COMPILER +#if _CCCL_CUDA_COMPILER(CLANG) # include +#endif // _CCCL_CUDA_COMPILER(CLANG) -# include +#include +#if _CCCL_HAS_CUDA_COMPILER # define _CCCL_TRY_CUDA_API(_NAME, _MSG, ...) \ { \ const ::cudaError_t __status = _NAME(__VA_ARGS__); \ diff --git a/libcudacxx/include/cuda/std/__exception/cuda_error.h b/libcudacxx/include/cuda/std/__exception/cuda_error.h index 76a5b7b3353..fdc32cf0571 100644 --- a/libcudacxx/include/cuda/std/__exception/cuda_error.h +++ b/libcudacxx/include/cuda/std/__exception/cuda_error.h @@ -22,8 +22,6 @@ # pragma system_header #endif // no system header -#include - #include #if !_CCCL_COMPILER(NVRTC) @@ -47,19 +45,19 @@ class cuda_error : public ::std::runtime_error char __buffer[256]; }; - static char* __format_cuda_error(::cudaError_t __status, const char* __msg, char* __msg_buffer) noexcept + static char* __format_cuda_error(const int __status, const char* __msg, char* __msg_buffer) noexcept { ::snprintf(__msg_buffer, 256, "cudaError %d: %s", __status, __msg); return __msg_buffer; } public: - cuda_error(::cudaError_t __status, const char* __msg, __msg_storage __msg_buffer = {0}) noexcept + cuda_error(const int __status, const char* __msg, __msg_storage __msg_buffer = {0}) noexcept : ::std::runtime_error(__format_cuda_error(__status, __msg, __msg_buffer.__buffer)) {} }; -_CCCL_NORETURN _LIBCUDACXX_HIDE_FROM_ABI void __throw_cuda_error(::cudaError_t __status, const char* __msg) +_CCCL_NORETURN _LIBCUDACXX_HIDE_FROM_ABI void __throw_cuda_error(const int __status, const char* __msg) { NV_IF_ELSE_TARGET(NV_IS_HOST, (throw ::cuda::cuda_error(__status, __msg);), @@ -69,10 +67,10 @@ _CCCL_NORETURN _LIBCUDACXX_HIDE_FROM_ABI void __throw_cuda_error(::cudaError_t _ class cuda_error { public: - _LIBCUDACXX_HIDE_FROM_ABI cuda_error(::cudaError_t, const char*) noexcept {} + _LIBCUDACXX_HIDE_FROM_ABI cuda_error(const int, const char*) noexcept {} }; -_CCCL_NORETURN _LIBCUDACXX_HIDE_FROM_ABI void __throw_cuda_error(::cudaError_t, const char*) +_CCCL_NORETURN _LIBCUDACXX_HIDE_FROM_ABI void __throw_cuda_error(const int, const char*) { _CUDA_VSTD_NOVERSION::terminate(); }