Daniel Gustafsson <dan...@yesql.se> writes:

> On 22 Nov 2021, at 16:40, Tom Lane <t...@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


Reply via email to