From d8f285852b79a97b4a6d6822f979796e9dd791d2 Mon Sep 17 00:00:00 2001 From: Rasmus Munk Larsen Date: Thu, 18 Oct 2018 16:55:02 -0700 Subject: Only set EIGEN_CONSTEXPR_ARE_DEVICE_FUNC for clang++ if cxx_relaxed_constexpr is available. --- Eigen/src/Core/util/Macros.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'Eigen/src/Core/util/Macros.h') diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h index dd4866724..e3015281b 100644 --- a/Eigen/src/Core/util/Macros.h +++ b/Eigen/src/Core/util/Macros.h @@ -654,12 +654,9 @@ #ifdef __CUDACC_RELAXED_CONSTEXPR__ #define EIGEN_CONSTEXPR_ARE_DEVICE_FUNC #endif - // See bug 1580: clang/CUDA fails to make the following calls - // to constexpr bool std::equal_to::operator() even when - // EIGEN_CONSTEXPR_ARE_DEVICE_FUNC is defined in c++14 only. - // #elif defined(__clang__) && defined(__CUDA__) && EIGEN_HAS_CONSTEXPR == 1 - // // clang++ always considers constexpr functions as implicitly __host__ __device__ - // #define EIGEN_CONSTEXPR_ARE_DEVICE_FUNC + #elif defined(__clang__) && defined(__CUDA__) && __has_feature(cxx_relaxed_constexpr) + // clang++ always considers constexpr functions as implicitly __host__ __device__ + #define EIGEN_CONSTEXPR_ARE_DEVICE_FUNC #endif #endif -- cgit v1.2.3