From ffffd5e2c29ec418aa0c9ba7bed4c0d2d46a3296 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Tue, 4 Feb 2014 14:20:40 -0800 Subject: Fix warnings in MIPS build This patch fixes the rest of the set-but-not-used warnings in the MIPS code by using attribute_unused and also fixes some conversion warnings by changing __arch_compare_and_exchange_xxx_[8|16]_int. Assigning __cmp (int type) to __prev (pointer type) generates a warning. Assigning zero to each separately avoids this warning without having to add a cast. Signed-off-by: Steve Ellcey Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/mips/bits/atomic.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'libc/sysdeps/linux/mips') diff --git a/libc/sysdeps/linux/mips/bits/atomic.h b/libc/sysdeps/linux/mips/bits/atomic.h index 60ee0a6f8..e4f9e3b73 100644 --- a/libc/sysdeps/linux/mips/bits/atomic.h +++ b/libc/sysdeps/linux/mips/bits/atomic.h @@ -83,10 +83,10 @@ typedef uintmax_t uatomic_max_t; in which values are returned. */ #define __arch_compare_and_exchange_xxx_8_int(mem, newval, oldval, rel, acq) \ - (abort (), __prev = __cmp = 0) + (abort (), __prev = 0, __cmp = 0) #define __arch_compare_and_exchange_xxx_16_int(mem, newval, oldval, rel, acq) \ - (abort (), __prev = __cmp = 0) + (abort (), __prev = 0, __cmp = 0) #define __arch_compare_and_exchange_xxx_32_int(mem, newval, oldval, rel, acq) \ __asm__ __volatile__ ( \ @@ -110,7 +110,7 @@ typedef uintmax_t uatomic_max_t; #if _MIPS_SIM == _ABIO32 /* We can't do an atomic 64-bit operation in O32. */ #define __arch_compare_and_exchange_xxx_64_int(mem, newval, oldval, rel, acq) \ - (abort (), __prev = __cmp = 0) + (abort (), __prev = 0, __cmp = 0) #else #define __arch_compare_and_exchange_xxx_64_int(mem, newval, oldval, rel, acq) \ __asm__ __volatile__ ("\n" \ @@ -158,22 +158,22 @@ typedef uintmax_t uatomic_max_t; successful or not. */ #define __arch_compare_and_exchange_val_8_int(mem, new, old, rel, acq) \ -({ __typeof (*mem) __prev attribute_unused; int __cmp; \ +({ __typeof (*mem) __prev attribute_unused; int __cmp attribute_unused; \ __arch_compare_and_exchange_xxx_8_int(mem, new, old, rel, acq); \ (__typeof (*mem))__prev; }) #define __arch_compare_and_exchange_val_16_int(mem, new, old, rel, acq) \ -({ __typeof (*mem) __prev attribute_unused; int __cmp; \ +({ __typeof (*mem) __prev attribute_unused; int __cmp attribute_unused; \ __arch_compare_and_exchange_xxx_16_int(mem, new, old, rel, acq); \ (__typeof (*mem))__prev; }) #define __arch_compare_and_exchange_val_32_int(mem, new, old, rel, acq) \ -({ __typeof (*mem) __prev attribute_unused; int __cmp; \ +({ __typeof (*mem) __prev attribute_unused; int __cmp attribute_unused; \ __arch_compare_and_exchange_xxx_32_int(mem, new, old, rel, acq); \ (__typeof (*mem))__prev; }) #define __arch_compare_and_exchange_val_64_int(mem, new, old, rel, acq) \ -({ __typeof (*mem) __prev attribute_unused; int __cmp; \ +({ __typeof (*mem) __prev attribute_unused; int __cmp attribute_unused; \ __arch_compare_and_exchange_xxx_64_int(mem, new, old, rel, acq); \ (__typeof (*mem))__prev; }) -- cgit v1.2.3