about summary refs log tree commit diff
path: root/sysdeps/s390/bits/atomic.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/s390/bits/atomic.h')
-rw-r--r--sysdeps/s390/bits/atomic.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/s390/bits/atomic.h b/sysdeps/s390/bits/atomic.h
index 51ad6d25e4..aa00473413 100644
--- a/sysdeps/s390/bits/atomic.h
+++ b/sysdeps/s390/bits/atomic.h
@@ -46,10 +46,10 @@ typedef uintmax_t uatomic_max_t;
 
 
 #define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
-  (abort (), 0)
+  (abort (), (__typeof (*mem)) 0)
 
 #define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
-  (abort (), 0)
+  (abort (), (__typeof (*mem)) 0)
 
 #define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
   ({ __typeof (mem) __archmem = (mem);					      \
@@ -72,5 +72,5 @@ typedef uintmax_t uatomic_max_t;
    implement them by use of the csd instruction. The straightforward
    implementation causes warnings so we skip the definition for now.  */
 # define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
-  (abort (), 0)
+  (abort (), (__typeof (*mem)) 0)
 #endif