From 6540f9fb30c36f87a74600d8ba5778bcdfa72788 Mon Sep 17 00:00:00 2001 From: Michael Schellenberger Costa Date: Fri, 8 Dec 2023 07:43:55 -0800 Subject: [PATCH] Fix availability of `is_constant_evaluated` on old MSVC (#1180) @ptheywood found that there is an unfortunate incompatability of MSVC2019 which does support `__builtin_is_constant_evaluated` from 19.24 onwards and old nvcc below 11.3 which does not. Fix this by hardening the condition we use to detect availability Fixes #1179 --- libcudacxx/include/cuda/std/detail/libcxx/include/__config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__config b/libcudacxx/include/cuda/std/detail/libcxx/include/__config index 5e425a6eae7..fb77ac912ad 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__config +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__config @@ -522,7 +522,7 @@ extern "C++" { #if __check_builtin(builtin_is_constant_evaluated) \ || (defined(_LIBCUDACXX_COMPILER_GCC) && _GNUC_VER >= 900) \ - || (defined(_LIBCUDACXX_COMPILER_MSVC) && _MSC_VER > 1924) + || (defined(_LIBCUDACXX_COMPILER_MSVC) && _MSC_VER > 1924 && !defined(_LIBCUDACXX_CUDACC_BELOW_11_3)) #define _LIBCUDACXX_IS_CONSTANT_EVALUATED(...) __builtin_is_constant_evaluated(__VA_ARGS__) #endif // __check_builtin(builtin_is_constant_evaluated)