Stefan Dösinger : include: _InterlockedExchangePointer is an intrinsic on x86 in newer MSVC versions.

Alexandre Julliard julliard at winehq.org
Mon Nov 8 15:45:07 CST 2021


Module: wine
Branch: master
Commit: ad05f33d676ff43484a8bdcffa7122280d1bd10d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ad05f33d676ff43484a8bdcffa7122280d1bd10d

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Nov  8 16:39:01 2021 +0300

include: _InterlockedExchangePointer is an intrinsic on x86 in newer MSVC versions.

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>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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)




More information about the wine-cvs mailing list