qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-1.7] atomic.h: Fix build with clang


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH for-1.7] atomic.h: Fix build with clang
Date: Sun, 10 Nov 2013 09:21:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9

Il 09/11/2013 19:09, Peter Maydell ha scritto:
> Ping! This is needed as a build-fix for MacOSX and didn't
> make it into 1.7-rc0. Paolo, can I get you to review this?

I thought I already had done that, anyway:

>> diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h
>> index 0aa8913..492bce1 100644
>> --- a/include/qemu/atomic.h
>> +++ b/include/qemu/atomic.h
>> @@ -168,14 +168,14 @@
>>  #endif
>>
>>  #ifndef atomic_xchg
>> -#ifdef __ATOMIC_SEQ_CST
>> +#if defined(__clang__)
>> +#define atomic_xchg(ptr, i)    __sync_swap(ptr, i)
>> +#elif defined(__ATOMIC_SEQ_CST)
>>  #define atomic_xchg(ptr, i)    ({                           \
>>      typeof(*ptr) _new = (i), _old;                          \
>>      __atomic_exchange(ptr, &_new, &_old, __ATOMIC_SEQ_CST); \
>>      _old;                                                   \
>>  })
>> -#elif defined __clang__
>> -#define atomic_xchg(ptr, i)    __sync_exchange(ptr, i)
>>  #else
>>  /* __sync_lock_test_and_set() is documented to be an acquire barrier only.  
>> */
>>  #define atomic_xchg(ptr, i)    (smp_mb(), __sync_lock_test_and_set(ptr, i))

Reviewed-by: Paolo Bonzini <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]