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