diff options
author | Eric Engestrom <[email protected]> | 2019-06-19 12:47:19 +0100 |
---|---|---|
committer | Eric Engestrom <[email protected]> | 2019-07-31 09:41:05 +0100 |
commit | abc226cf41574454c79477c217e60e8ff1fddfad (patch) | |
tree | 4c01a31ebe12a2a03bef6c7902a4d0ca400110ce /src/util | |
parent | ab9c76769ad070490434aa7104d11958e1fc49d4 (diff) |
tree-wide: replace MAYBE_UNUSED with ASSERTED
Suggested-by: Jason Ekstrand <[email protected]>
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/half_float.c | 2 | ||||
-rw-r--r-- | src/util/macros.h | 21 | ||||
-rw-r--r-- | src/util/simple_mtx.h | 2 |
3 files changed, 21 insertions, 4 deletions
diff --git a/src/util/half_float.c b/src/util/half_float.c index 422c0b69b78..5ccee81f78a 100644 --- a/src/util/half_float.c +++ b/src/util/half_float.c @@ -146,7 +146,7 @@ uint8_t _mesa_half_to_unorm8(uint16_t val) { const int m = val & 0x3ff; const int e = (val >> 10) & 0x1f; - MAYBE_UNUSED const int s = (val >> 15) & 0x1; + ASSERTED const int s = (val >> 15) & 0x1; /* v = round_to_nearest(1.mmmmmmmmmm * 2^(e-15) * 255) * = round_to_nearest((1.mmmmmmmmmm * 255) * 2^(e-15)) diff --git a/src/util/macros.h b/src/util/macros.h index fb0d154370a..86585f609da 100644 --- a/src/util/macros.h +++ b/src/util/macros.h @@ -230,13 +230,30 @@ do { \ # endif #endif +/** + * UNUSED marks variables (or sometimes functions) that have to be defined, + * but are sometimes (or always) unused beyond that. A common case is for + * a function parameter to be used in some build configurations but not others. + * Another case is fallback vfuncs that don't do anything with their params. + * + * Note that this should not be used for identifiers used in `assert()`; + * see ASSERTED below. + */ #ifdef HAVE_FUNC_ATTRIBUTE_UNUSED #define UNUSED __attribute__((unused)) #else #define UNUSED #endif -#define MAYBE_UNUSED UNUSED +/** + * Use ASSERTED to indicate that an identifier is unused outside of an `assert()`, + * so that assert-free builds don't get "unused variable" warnings. + */ +#ifdef NDEBUG +#define ASSERTED UNUSED +#else +#define ASSERTED +#endif #ifdef HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT #define MUST_CHECK __attribute__((warn_unused_result)) @@ -261,7 +278,7 @@ do { \ */ #define ASSERT_BITFIELD_SIZE(STRUCT, FIELD, MAXVAL) \ do { \ - MAYBE_UNUSED STRUCT s; \ + ASSERTED STRUCT s; \ s.FIELD = (MAXVAL); \ assert((int) s.FIELD == (MAXVAL) && "Insufficient bitfield size!"); \ } while (0) diff --git a/src/util/simple_mtx.h b/src/util/simple_mtx.h index cfb82ba56c1..94ab6fcef1f 100644 --- a/src/util/simple_mtx.h +++ b/src/util/simple_mtx.h @@ -61,7 +61,7 @@ typedef struct { #define _SIMPLE_MTX_INITIALIZER_NP { 0 } static inline void -simple_mtx_init(simple_mtx_t *mtx, MAYBE_UNUSED int type) +simple_mtx_init(simple_mtx_t *mtx, ASSERTED int type) { assert(type == mtx_plain); |