From 8c7014eb239edb09ecb861a25d97147701d43c8a Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Sat, 19 Dec 2020 23:56:15 +0200 Subject: [PATCH] include: Fix the signature of _InterlockedCompareExchange128. Clang 12 doesn't consider a function with an inconsistent signature as matching the intrinsic. This fixes InterlockedCompareExchange128 with clang 12 in MSVC mode. Signed-off-by: Martin Storsjo Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- include/winnt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/winnt.h b/include/winnt.h index 04353d9405d..83fcc67c85d 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -6897,7 +6897,7 @@ static inline BOOLEAN BitScanReverse(DWORD *index, DWORD mask) #if defined(_MSC_VER) #define InterlockedCompareExchange128 _InterlockedCompareExchange128 -static inline unsigned char _InterlockedCompareExchange128(__int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare); +unsigned char _InterlockedCompareExchange128(volatile __int64 *dest, __int64 xchg_high, __int64 xchg_low, __int64 *compare); #pragma intrinsic(_InterlockedCompareExchange128) #elif defined(__x86_64__)