From bd077d205aab57df26d5b2b3f1766c52b8dd7583 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 20 Nov 2012 00:56:29 +0000 Subject: [PATCH] Fix warnings from aborting MIPS atomic macros. --- ports/ChangeLog.mips | 10 ++++++++++ ports/sysdeps/mips/bits/atomic.h | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips index 7472aa3..2a77f26 100644 --- a/ports/ChangeLog.mips +++ b/ports/ChangeLog.mips @@ -1,3 +1,13 @@ +2012-11-20 Joseph Myers + + * sysdeps/mips/bits/atomic.h [!__GNUC_PREREQ (4, 8)] + (__arch_compare_and_exchange_xxx_8_int): Separate assignments to + __prev and __cmp. Cast __cmp to void. + [!__GNUC_PREREQ (4, 8)] (__arch_compare_and_exchange_xxx_16_int): + Likewise. + [!__GNUC_PREREQ (4, 8) && _MIPS_SIM == _ABIO32] + (__arch_compare_and_exchange_xxx_64_int): Likewise. + 2012-11-19 Joseph Myers * sysdeps/mips/dl-machine.h (RESOLVE_GOTSYM): Declare VERSION diff --git a/ports/sysdeps/mips/bits/atomic.h b/ports/sysdeps/mips/bits/atomic.h index c5a26b9..3466df7 100644 --- a/ports/sysdeps/mips/bits/atomic.h +++ b/ports/sysdeps/mips/bits/atomic.h @@ -209,10 +209,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, (void) __cmp) # define __arch_compare_and_exchange_xxx_16_int(mem, newval, oldval, rel, acq) \ - (abort (), __prev = __cmp = 0) + (abort (), __prev = 0, __cmp = 0, (void) __cmp) # define __arch_compare_and_exchange_xxx_32_int(mem, newval, oldval, rel, acq) \ __asm__ __volatile__ ( \ @@ -236,7 +236,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, (void) __cmp) # else # define __arch_compare_and_exchange_xxx_64_int(mem, newval, oldval, rel, acq) \ __asm__ __volatile__ ("\n" \ -- 2.7.4