diff --git a/hipamd/include/hip/hcc_detail/hip_runtime.h b/hipamd/include/hip/hcc_detail/hip_runtime.h index 924e774af0..944f74864b 100644 --- a/hipamd/include/hip/hcc_detail/hip_runtime.h +++ b/hipamd/include/hip/hcc_detail/hip_runtime.h @@ -381,27 +381,29 @@ __device__ void __threadfence_system(void) ; * @} */ -template::type f> -class Coordinates { - using R = decltype(f(0)); +#if __hcc_workweek__ >= 17481 + template::type f> + class Coordinates { + using R = decltype(f(0)); - struct X { __device__ operator R() const { return f(0); } }; - struct Y { __device__ operator R() const { return f(1); } }; - struct Z { __device__ operator R() const { return f(2); } }; -public: - static constexpr X x{}; - static constexpr Y y{}; - static constexpr Z z{}; -}; + struct X { __device__ operator R() const { return f(0); } }; + struct Y { __device__ operator R() const { return f(1); } }; + struct Z { __device__ operator R() const { return f(2); } }; + public: + static constexpr X x{}; + static constexpr Y y{}; + static constexpr Z z{}; + }; -static constexpr Coordinates blockDim; -static constexpr Coordinates blockIdx; -static constexpr Coordinates gridDim; -static constexpr Coordinates threadIdx; + static constexpr Coordinates blockDim; + static constexpr Coordinates blockIdx; + static constexpr Coordinates gridDim; + static constexpr Coordinates threadIdx; +#endif #define hipThreadIdx_x (hc_get_workitem_id(0)) #define hipThreadIdx_y (hc_get_workitem_id(1))