From: Brian Norris Date: Wed, 14 Aug 2013 04:51:56 +0000 (-0700) Subject: impatomic: silence more clang warnings X-Git-Tag: oopsla2015~17 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker.git;a=commitdiff_plain;h=130a35155171503883aaf18e57f8957ce63d06e8 impatomic: silence more clang warnings These 'return' values produce unused value warnings when the value returned by _ATOMIC_STORE_, _ATOMIC_INIT_, and _ATOMIC_MODIFY_ aren't used. Silence these warnings (but leave the ones for _ATOMIC_LOAD_) because we expect that the result of RMW's or stores may rightly be discarded in many cases. --- diff --git a/include/impatomic.h b/include/impatomic.h index 5548619..1b9ce6b 100644 --- a/include/impatomic.h +++ b/include/impatomic.h @@ -88,14 +88,16 @@ inline void atomic_flag::clear( memory_order __x__ ) volatile ({ volatile __typeof__((__a__)->__f__)* __p__ = & ((__a__)->__f__); \ __typeof__(__m__) __v__ = (__m__); \ model_write_action((void *) __p__, __x__, (uint64_t) __v__); \ - __v__; }) + __v__ = __v__; /* Silence clang (-Wunused-value) */ \ + }) #define _ATOMIC_INIT_( __a__, __m__ ) \ ({ volatile __typeof__((__a__)->__f__)* __p__ = & ((__a__)->__f__); \ __typeof__(__m__) __v__ = (__m__); \ model_init_action((void *) __p__, (uint64_t) __v__); \ - __v__; }) + __v__ = __v__; /* Silence clang (-Wunused-value) */ \ + }) #define _ATOMIC_MODIFY_( __a__, __o__, __m__, __x__ ) \ ({ volatile __typeof__((__a__)->__f__)* __p__ = & ((__a__)->__f__); \ @@ -104,7 +106,8 @@ inline void atomic_flag::clear( memory_order __x__ ) volatile __typeof__((__a__)->__f__) __copy__= __old__; \ __copy__ __o__ __v__; \ model_rmw_action((void *)__p__, __x__, (uint64_t) __copy__); \ - __old__; }) + __old__ = __old__; /* Silence clang (-Wunused-value) */ \ + }) /* No spurious failure for now */ #define _ATOMIC_CMPSWP_WEAK_ _ATOMIC_CMPSWP_