From e07459bf55c911b6089310cd0ce280100abdc76a Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Tue, 18 Jun 2024 12:23:32 -0700 Subject: [PATCH] Add workaround for the old MSVC-internal toolset. --- stl/inc/__msvc_bit_utils.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stl/inc/__msvc_bit_utils.hpp b/stl/inc/__msvc_bit_utils.hpp index eb86c43d0f4..7537edb3ef3 100644 --- a/stl/inc/__msvc_bit_utils.hpp +++ b/stl/inc/__msvc_bit_utils.hpp @@ -300,8 +300,9 @@ _NODISCARD int _Checked_x86_x64_countr_zero(const _Ty _Val) noexcept { #endif // _HAS_TZCNT_BSF_INTRINSICS -#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64)) && !defined(_M_CEE_PURE) && !defined(__CUDACC__) \ - && !defined(__INTEL_COMPILER) +// TRANSITION, remove `_MSC_VER > 1940` check after MSVC-internal toolset update +#if (defined(_M_IX86) || defined(_M_X64) || (defined(_M_ARM64) && _MSC_VER > 1940)) && !defined(_M_CEE_PURE) \ + && !defined(__CUDACC__) && !defined(__INTEL_COMPILER) #define _HAS_POPCNT_INTRINSICS 1 #if defined(__AVX__) || defined(_M_ARM64) || defined(_M_ARM64EC) #define _POPCNT_INTRINSICS_ALWAYS_AVAILABLE 1