aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/ia64/bits/atomic.h4
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b177adc..cd2d827 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2015-07-27 Mike Frysinger <vapier@gentoo.org>
+ * 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 <vapier@gentoo.org>
+
* sysdeps/unix/sysv/linux/ia64/Makefile (CPPFLAGS): Delete
the -D_ASM_IA64_CURRENT_H flag.
diff --git a/sysdeps/ia64/bits/atomic.h b/sysdeps/ia64/bits/atomic.h
index 0e9dfc7..4c2b540 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; \