summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/mips/bits/atomic.h
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@mips.com>2014-02-04 14:20:40 -0800
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2014-04-01 13:36:32 +0200
commitffffd5e2c29ec418aa0c9ba7bed4c0d2d46a3296 (patch)
treedb4eb278b8c37f00bce574f127d925702eb6c540 /libc/sysdeps/linux/mips/bits/atomic.h
parentd4ea30a415188e4e52688fbd214198fa633bb174 (diff)
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 <sellcey@mips.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/mips/bits/atomic.h')
-rw-r--r--libc/sysdeps/linux/mips/bits/atomic.h14
1 files changed, 7 insertions, 7 deletions
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; })