[PATCH 4/4] include: _InterlockedExchangePointer is an intrinsic on x86 in newer MSVC versions.

Stefan Dösinger stefan at codeweavers.com
Mon Nov 8 07:39:01 CST 2021


msvc 2019 complains that _InterlockedCompareExchangePointer and
_InterlockedExchangePointer are intrinsics and cannot be defined
even when building for x86. If I read Microsoft's header right
that started with msvc 2016.

Signed-off-by: Stefan Dösinger <stefan at codeweavers.com>
---
 include/winnt.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/winnt.h b/include/winnt.h
index ef731e29c52..3e8a92fc063 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -6345,7 +6345,7 @@ long      _InterlockedIncrement(long volatile*);
 short     _InterlockedIncrement16(short volatile*);
 long      _InterlockedOr(long volatile *,long);
 
-#ifndef __i386__
+#if !defined(__i386__) || _MSC_VER >= 1600
 
 #pragma intrinsic(_InterlockedCompareExchangePointer)
 #pragma intrinsic(_InterlockedExchangePointer)
-- 
2.32.0




More information about the wine-devel mailing list