Fix type errors in C11 versions of atomic_*() functions.

This commit is contained in:
Chi-hung Hsieh 2015-05-27 20:31:51 -07:00 committed by Jason Evans
parent 836bbe9951
commit c073f8167a

View File

@ -143,15 +143,15 @@ atomic_sub_uint64(uint64_t *p, uint64_t x)
JEMALLOC_INLINE bool JEMALLOC_INLINE bool
atomic_cas_uint64(uint64_t *p, uint64_t c, uint64_t s) atomic_cas_uint64(uint64_t *p, uint64_t c, uint64_t s)
{ {
volatile atomic_uint_least64_t *a = (volatile atomic_uint_least64_t *)p;
return (!atomic_compare_exchange_strong(p, &c, s)); return (!atomic_compare_exchange_strong(a, &c, s));
} }
JEMALLOC_INLINE void JEMALLOC_INLINE void
atomic_write_uint64(uint64_t *p, uint64_t x) atomic_write_uint64(uint64_t *p, uint64_t x)
{ {
volatile atomic_uint_least64_t *a = (volatile atomic_uint_least64_t *)p;
atomic_store(p, x); atomic_store(a, x);
} }
# elif (defined(JEMALLOC_ATOMIC9)) # elif (defined(JEMALLOC_ATOMIC9))
JEMALLOC_INLINE uint64_t JEMALLOC_INLINE uint64_t
@ -367,15 +367,15 @@ atomic_sub_uint32(uint32_t *p, uint32_t x)
JEMALLOC_INLINE bool JEMALLOC_INLINE bool
atomic_cas_uint32(uint32_t *p, uint32_t c, uint32_t s) atomic_cas_uint32(uint32_t *p, uint32_t c, uint32_t s)
{ {
volatile atomic_uint_least32_t *a = (volatile atomic_uint_least32_t *)p;
return (!atomic_compare_exchange_strong(p, &c, s)); return (!atomic_compare_exchange_strong(a, &c, s));
} }
JEMALLOC_INLINE void JEMALLOC_INLINE void
atomic_write_uint32(uint32_t *p, uint32_t x) atomic_write_uint32(uint32_t *p, uint32_t x)
{ {
volatile atomic_uint_least32_t *a = (volatile atomic_uint_least32_t *)p;
atomic_store(p, x); atomic_store(a, x);
} }
#elif (defined(JEMALLOC_ATOMIC9)) #elif (defined(JEMALLOC_ATOMIC9))
JEMALLOC_INLINE uint32_t JEMALLOC_INLINE uint32_t