From 0d261f406d7c8f70b4ad7ca7d9247da1db3dfb41 Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Tue, 4 Aug 2015 12:02:10 -0400 Subject: tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.h Using a ({ }) structure avoids the "value computed is not used" that a simple () structure causes. --- ChangeLog | 6 ++++++ sysdeps/tile/tilepro/bits/atomic.h | 20 ++++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3cf69712ad..17caaf3e91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-08-04 Chris Metcalf + + * sysdeps/tile/tilepro/bits/atomic.h (__atomic_update): + Restructure macro to avoid "value computed is not used" warning. + (atomic_compare_and_exchange_val_acq): Likewise. + 2015-08-04 Andreas Schwab [BZ #18635] diff --git a/sysdeps/tile/tilepro/bits/atomic.h b/sysdeps/tile/tilepro/bits/atomic.h index 491e586cee..e0ef9fb5e7 100644 --- a/sysdeps/tile/tilepro/bits/atomic.h +++ b/sysdeps/tile/tilepro/bits/atomic.h @@ -39,10 +39,12 @@ int __atomic_cmpxchg_32 (volatile int *mem, int newval, int oldval) } #define atomic_compare_and_exchange_val_acq(mem, n, o) \ - ((__typeof (*(mem))) \ - ((sizeof (*(mem)) == 4) ? \ - __atomic_cmpxchg_32 ((int *) (mem), (int) (n), (int) (o)) : \ - __atomic_error_bad_argument_size())) + ({ \ + if (sizeof (*(mem)) != 4) \ + __atomic_error_bad_argument_size (); \ + (__typeof (*(mem))) \ + __atomic_cmpxchg_32 ((int *) (mem), (int) (n), (int) (o)); \ + }) /* Atomically compute: int old = *ptr; @@ -64,10 +66,12 @@ int __atomic_update_32 (volatile int *mem, int mask, int addend) /* Size-checked verson of __atomic_update_32. */ #define __atomic_update(mem, mask, addend) \ - ((__typeof (*(mem))) \ - ((sizeof (*(mem)) == 4) ? \ - __atomic_update_32 ((int *) (mem), (int) (mask), (int) (addend)) : \ - __atomic_error_bad_argument_size ())) + ({ \ + if (sizeof (*(mem)) != 4) \ + __atomic_error_bad_argument_size (); \ + (__typeof (*(mem))) \ + __atomic_update_32 ((int *) (mem), (int) (mask), (int) (addend)); \ + }) #define atomic_exchange_acq(mem, newvalue) \ __atomic_update ((mem), 0, (newvalue)) -- cgit v1.2.3