[PATCH] include: Fix the signature of _InterlockedCompareExchange128
Martin Storsjo
martin at martin.st
Sat Dec 19 15:56:15 CST 2020
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 <martin at martin.st>
---
include/winnt.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/winnt.h b/include/winnt.h
index 01402d211fe..6d76e5e49e5 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -6923,7 +6923,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__)
--
2.17.1
More information about the wine-devel
mailing list