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

Kristian Høgsberg hoegsberg at gmail.com
Mon Apr 22 20:09:43 UTC 2019


On Mon, Apr 22, 2019 at 12:11 PM Jason Ekstrand <jason at jlekstrand.net> wrote:
>
> 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.

I think that's going in the wrong direction - if anything I think that
having both UNUSED and MAYBE_UNUSED is redundant and feel that just
UNUSED would be fine. __attribute__((unused)) doesn't mean "strictly
not used", it means "don't warn if this isn't used".

>
> --Jason
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list