diff options
Diffstat (limited to 'nptl/sysdeps/ia64/bits/atomic.h')
-rw-r--r-- | nptl/sysdeps/ia64/bits/atomic.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/nptl/sysdeps/ia64/bits/atomic.h b/nptl/sysdeps/ia64/bits/atomic.h index 4b1d24f8e7..cfccc6ad71 100644 --- a/nptl/sysdeps/ia64/bits/atomic.h +++ b/nptl/sysdeps/ia64/bits/atomic.h @@ -78,15 +78,17 @@ typedef uintmax_t uatomic_max_t; do \ __oldval = __val; \ while ((__val \ - = __arch_compare_and_exchange_32_val_acq (__memp, __oldval, \ - __oldval + __value)) \ + = __arch_compare_and_exchange_32_val_acq (__memp, \ + __oldval + __value, \ + __oldval)) \ != __oldval); \ else if (sizeof (*mem) == 8) \ do \ __oldval = __val; \ while ((__val \ - = __arch_compare_and_exchange_64_val_acq (__memp, __oldval, \ - __oldval + __value)) \ + = __arch_compare_and_exchange_64_val_acq (__memp, \ + __oldval + __value, \ + __oldval)) \ != __oldval); \ else \ abort (); \ |