From: Yuxuan Shui <yshui(a)codeweavers.com> --- include/winnt.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/winnt.h b/include/winnt.h index ab14bcc80d5..27381fad3e0 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -7109,7 +7109,7 @@ static FORCEINLINE void MemoryBarrier(void) __sync_synchronize(); } -#if defined(__x86_64__) || defined(__i386__) +#if (defined(__x86_64__) || defined(__i386__)) && !defined(__clang__) && __GNUC__ < 8 /* On x86, Support old GCC with either no or buggy (GCC BZ#81316) __atomic_* support */ #define __WINE_ATOMIC_LOAD_ACQUIRE(ptr, ret) do { *(ret) = *(ptr); __asm__ __volatile__( "" ::: "memory" ); } while (0) #define __WINE_ATOMIC_LOAD_RELAXED(ptr, ret) do { *(ret) = *(ptr); } while (0) @@ -7120,7 +7120,7 @@ static FORCEINLINE void MemoryBarrier(void) #define __WINE_ATOMIC_LOAD_RELAXED(ptr, ret) __atomic_load(ptr, ret, __ATOMIC_RELAXED) #define __WINE_ATOMIC_STORE_RELEASE(ptr, val) __atomic_store(ptr, val, __ATOMIC_RELEASE) #define __WINE_ATOMIC_STORE_RELAXED(ptr, val) __atomic_store(ptr, val, __ATOMIC_RELAXED) -#endif /* defined(__x86_64__) || defined(__i386__) */ +#endif /* (defined(__x86_64__) || defined(__i386__)) && !defined(__clang__) && __GNUC__ < 8 */ static FORCEINLINE LONG ReadAcquire( LONG const volatile *src ) { -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/3527