diff --git a/ChangeLog b/ChangeLog index b177adc143..cd2d8274c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-07-27 Mike Frysinger + + * sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Define + directly in terms of __sync_fetch_and_add and delete (int) cast. + 2015-07-27 Mike Frysinger * sysdeps/unix/sysv/linux/ia64/Makefile (CPPFLAGS): Delete diff --git a/sysdeps/ia64/bits/atomic.h b/sysdeps/ia64/bits/atomic.h index 0e9dfc7174..4c2b54094c 100644 --- a/sysdeps/ia64/bits/atomic.h +++ b/sysdeps/ia64/bits/atomic.h @@ -82,9 +82,7 @@ typedef uintmax_t uatomic_max_t; (__sync_synchronize (), __sync_lock_test_and_set (mem, value)) #define atomic_exchange_and_add(mem, value) \ - ({ __typeof (*mem) __result; \ - __result = __sync_fetch_and_add ((mem), (int) (value)); \ - __result; }) + __sync_fetch_and_add ((mem), (value)) #define atomic_decrement_if_positive(mem) \ ({ __typeof (*mem) __oldval, __val; \