[Mesa-dev] Add an ASSERTED macro to use in place of MAYBE_UNUSED?

Jason Ekstrand jason at jlekstrand.net
Mon Apr 22 19:10:56 UTC 2019


All,

I've seen discussions come up several times lately about whether you should
use MAYBE_UNUSED or UNUSED in what scenario and why do we have two of them
anyway.  That got me thinking a bit.  Maybe what we actually want instead
of MAYBE_UNUSED is something like this:

#ifdef NDEBUG
#define ASSERTED UNUSED
#else
#define ASSERTED
#endif

That way, if you only need a parameter for asserts, you can declare it
ASSERTED and it won't warn in release builds will still throw a warning if
you do a debug build which doesn't use it.  Of course, there are other
times when something is validly MAYBE_UNUSED such as auto-generated code or
the genX code we use on Intel.  However, this provides additional meaning
and means the compiler warnings are still useful even after you've
relegated a value to assert-only.

Thoughts?  I'm also open to a better name; that's the best I could do in 5
minutes.

--Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190422/0d913b4e/attachment.html>


More information about the mesa-dev mailing list