From a56c3e3a470eb8f13d11ca0aad5b5934de54ca1c Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sat, 11 Feb 2017 18:35:55 -0800 Subject: [PATCH] util: Make Solaris implemention of p_atomic_add work with gcc MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit gcc is very particular about where you place the (void) cast The previous placement made it error out with: In file included from disk_cache.c:40:0: ../../src/util/u_atomic.h:203:29: error: void value not ignored as it ought to be #define p_atomic_add(v, i) ((void) \ ^ disk_cache.c:658:4: note: in expansion of macro ‘p_atomic_add’ p_atomic_add(cache->size, size); ^ Signed-off-by: Alan Coopersmith Reviewed-by: Eric Engestrom --- src/util/u_atomic.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/u_atomic.h b/src/util/u_atomic.h index c6d4bde3439..5949d85af1e 100644 --- a/src/util/u_atomic.h +++ b/src/util/u_atomic.h @@ -189,7 +189,7 @@ sizeof(*v) == sizeof(uint64_t) ? atomic_inc_64_nv((uint64_t *)(v)) : \ (assert(!"should not get here"), 0)) -#define p_atomic_dec(v) ((void) \ +#define p_atomic_dec(v) (void) ( \ sizeof(*v) == sizeof(uint8_t) ? atomic_dec_8 ((uint8_t *)(v)) : \ sizeof(*v) == sizeof(uint16_t) ? atomic_dec_16((uint16_t *)(v)) : \ sizeof(*v) == sizeof(uint32_t) ? atomic_dec_32((uint32_t *)(v)) : \ @@ -203,7 +203,7 @@ sizeof(*v) == sizeof(uint64_t) ? atomic_dec_64_nv((uint64_t *)(v)) : \ (assert(!"should not get here"), 0)) -#define p_atomic_add(v, i) ((void) \ +#define p_atomic_add(v, i) (void) ( \ sizeof(*v) == sizeof(uint8_t) ? atomic_add_8 ((uint8_t *)(v), (i)) : \ sizeof(*v) == sizeof(uint16_t) ? atomic_add_16((uint16_t *)(v), (i)) : \ sizeof(*v) == sizeof(uint32_t) ? atomic_add_32((uint32_t *)(v), (i)) : \ -- 2.30.2