diff --git a/include/experimental/__p0009_bits/config.hpp b/include/experimental/__p0009_bits/config.hpp index 3102aa54..1494ea22 100644 --- a/include/experimental/__p0009_bits/config.hpp +++ b/include/experimental/__p0009_bits/config.hpp @@ -99,6 +99,12 @@ static_assert(MDSPAN_IMPL_CPLUSPLUS >= MDSPAN_CXX_STD_14, "mdspan requires C++14 # endif #endif +#ifndef MDSPAN_IMPL_HAS_OPENACC +# if defined(_OPENACC) +# define MDSPAN_IMPL_HAS_OPENACC _OPENACC +# endif +#endif + #ifndef MDSPAN_IMPL_HAS_CPP_ATTRIBUTE # ifndef __has_cpp_attribute # define MDSPAN_IMPL_HAS_CPP_ATTRIBUTE(x) 0 diff --git a/include/experimental/__p0009_bits/macros.hpp b/include/experimental/__p0009_bits/macros.hpp index 7f288dc9..c15cfcbc 100644 --- a/include/experimental/__p0009_bits/macros.hpp +++ b/include/experimental/__p0009_bits/macros.hpp @@ -24,7 +24,7 @@ #if defined(MDSPAN_IMPL_HAS_SYCL) #include // sycl::ext::oneapi::experimental::printf #endif -#if defined(MDSPAN_IMPL_HAS_CUDA) || defined(MDSPAN_IMPL_HAS_HIP) || defined(MDSPAN_IMPL_HAS_SYCL) +#if defined(MDSPAN_IMPL_HAS_CUDA) || defined(MDSPAN_IMPL_HAS_HIP) || defined(MDSPAN_IMPL_HAS_SYCL) || defined(MDSPAN_IMPL_HAS_OPENACC) #include "assert.h" #endif @@ -130,6 +130,11 @@ MDSPAN_FUNCTION inline void default_precondition_violation_handler(const char* c #endif assert(0); } +#elif defined(MDSPAN_IMPL_HAS_OPENACC) +MDSPAN_FUNCTION inline void default_precondition_violation_handler(const char* /* cond */, const char* /* file */, unsigned /* line */) +{ + assert(false); +} #else MDSPAN_FUNCTION inline void default_precondition_violation_handler(const char* cond, const char* file, unsigned line) {