include: Make sure interlocked_cmpxchg128 has a prototype on ARM64 (try 2)

André Hentschel nerv at dawncrow.de
Sun Jan 20 11:03:49 CST 2013


---
 include/wine/port.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/wine/port.h b/include/wine/port.h
index bd6f513..59311e3 100644
--- a/include/wine/port.h
+++ b/include/wine/port.h
@@ -414,7 +414,7 @@ static inline int interlocked_xchg_add( int *dest, int incr )
 }
 
 #ifdef __x86_64__
-static inline unsigned char interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high,
+static inline int interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high,
                                                     __int64 xchg_low, __int64 *compare )
 {
     unsigned char ret;
@@ -435,9 +435,9 @@ extern __int64 interlocked_cmpxchg64( __int64 *dest, __int64 xchg, __int64 compa
 extern int interlocked_xchg( int *dest, int val );
 extern void *interlocked_xchg_ptr( void **dest, void *val );
 extern int interlocked_xchg_add( int *dest, int incr );
-#ifdef _WIN64
-extern unsigned char interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high,
-                                             __int64 xchg_low, __int64 *compare );
+#if defined(__x86_64__) || defined(__aarch64__) || defined(_WIN64)
+extern int interlocked_cmpxchg128( __int64 *dest, __int64 xchg_high,
+                                   __int64 xchg_low, __int64 *compare );
 #endif
 
 #endif  /* __GNUC__ */
-- 
1.8.0



-- 

Best Regards, André Hentschel


More information about the wine-patches mailing list