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

Eric Anholt eric at anholt.net
Mon Apr 22 22:21:22 UTC 2019


Jason Ekstrand <jason at jlekstrand.net> writes:

> 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.

We should delete one or the other of the current ones and not have
different names to need to know for the same underlying function
attribute.  I'd prefer deleting MAYBE_UNUSED (UNUSED is less typing and
the name of the underlying attribute), but would go either way.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190422/dbc21a90/attachment.sig>


More information about the mesa-dev mailing list