Daniel Gustafsson <daniel@yesql.se> writes:
> On 22 Nov 2021, at 16:40, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
>> I can't find anything that is providing a non-empty definition of
>> PG_USED_FOR_ASSERTS_ONLY (a/k/a pg_attribute_unused) for anything
>> except GCC.
>
> It's supported in clang as well per the documentation [0] in at least some
> configurations or distributions:
>
> "The [[maybe_unused]] (or __attribute__((unused))) attribute can be
> used to silence such diagnostics when the entity cannot be removed.
> For instance, a local variable may exist solely for use in an assert()
> statement, which makes the local variable unused when NDEBUG is
> defined."
Should we change the compiler checks for attributes in c.h to include
`|| __has_attribute(…)`, so that we automatically get them on compilers
that support that (particularly clang)?
- ilmari