yann@766: Index: uClibc/libc/sysdeps/linux/mips/bits/atomic.h yann@766: =================================================================== yann@766: --- uClibc/libc/sysdeps/linux/mips/bits/atomic.h (revision 23002) yann@766: +++ uClibc/libc/sysdeps/linux/mips/bits/atomic.h (working copy) yann@766: @@ -110,22 +110,22 @@ yann@766: /* For all "bool" routines, we return FALSE if exchange succesful. */ yann@766: yann@766: #define __arch_compare_and_exchange_bool_8_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_8_int(mem, new, old, rel, acq); \ yann@766: !__cmp; }) yann@766: yann@766: #define __arch_compare_and_exchange_bool_16_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_16_int(mem, new, old, rel, acq); \ yann@766: !__cmp; }) yann@766: yann@766: #define __arch_compare_and_exchange_bool_32_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_32_int(mem, new, old, rel, acq); \ yann@766: !__cmp; }) yann@766: yann@766: #define __arch_compare_and_exchange_bool_64_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_64_int(mem, new, old, rel, acq); \ yann@766: !__cmp; }) yann@766: yann@766: @@ -133,24 +133,24 @@ yann@766: successful or not. */ yann@766: yann@766: #define __arch_compare_and_exchange_val_8_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_8_int(mem, new, old, rel, acq); \ yann@766: - (typeof (*mem))__prev; }) yann@766: + (__typeof (*mem))__prev; }) yann@766: yann@766: #define __arch_compare_and_exchange_val_16_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_16_int(mem, new, old, rel, acq); \ yann@766: - (typeof (*mem))__prev; }) yann@766: + (__typeof (*mem))__prev; }) yann@766: yann@766: #define __arch_compare_and_exchange_val_32_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_32_int(mem, new, old, rel, acq); \ yann@766: - (typeof (*mem))__prev; }) yann@766: + (__typeof (*mem))__prev; }) yann@766: yann@766: #define __arch_compare_and_exchange_val_64_int(mem, new, old, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __arch_compare_and_exchange_xxx_64_int(mem, new, old, rel, acq); \ yann@766: - (typeof (*mem))__prev; }) yann@766: + (__typeof (*mem))__prev; }) yann@766: yann@766: /* Compare and exchange with "acquire" semantics, ie barrier after. */ yann@766: yann@766: @@ -183,7 +183,7 @@ yann@766: (abort (), 0) yann@766: yann@766: #define __arch_exchange_xxx_32_int(mem, newval, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __asm__ __volatile__ ("\n" \ yann@766: ".set push\n\t" \ yann@766: MIPS_PUSH_MIPS2 \ yann@766: @@ -207,7 +207,7 @@ yann@766: (abort (), 0) yann@766: #else yann@766: #define __arch_exchange_xxx_64_int(mem, newval, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __asm__ __volatile__ ("\n" \ yann@766: ".set push\n\t" \ yann@766: MIPS_PUSH_MIPS2 \ yann@766: @@ -236,13 +236,13 @@ yann@766: /* Atomically add value and return the previous (unincremented) value. */ yann@766: yann@766: #define __arch_exchange_and_add_8_int(mem, newval, rel, acq) \ yann@766: - (abort (), (typeof(*mem)) 0) yann@766: + (abort (), (__typeof(*mem)) 0) yann@766: yann@766: #define __arch_exchange_and_add_16_int(mem, newval, rel, acq) \ yann@766: - (abort (), (typeof(*mem)) 0) yann@766: + (abort (), (__typeof(*mem)) 0) yann@766: yann@766: #define __arch_exchange_and_add_32_int(mem, value, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __asm__ __volatile__ ("\n" \ yann@766: ".set push\n\t" \ yann@766: MIPS_PUSH_MIPS2 \ yann@766: @@ -263,10 +263,10 @@ yann@766: #if _MIPS_SIM == _ABIO32 yann@766: /* We can't do an atomic 64-bit operation in O32. */ yann@766: #define __arch_exchange_and_add_64_int(mem, value, rel, acq) \ yann@766: - (abort (), (typeof(*mem)) 0) yann@766: + (abort (), (__typeof(*mem)) 0) yann@766: #else yann@766: #define __arch_exchange_and_add_64_int(mem, value, rel, acq) \ yann@766: -({ typeof (*mem) __prev; int __cmp; \ yann@766: +({ __typeof (*mem) __prev; int __cmp; \ yann@766: __asm__ __volatile__ ( \ yann@766: ".set push\n\t" \ yann@766: MIPS_PUSH_MIPS2 \