On 13.03.25 13:43, Peter Eisentraut wrote:
I committed the first two patches (squashed together) (about
pg_noreturn). I had to make one change: I put back the GCC fallback
that I had removed between v1 and v2. This is needed for GCC versions
before C11 became the default (gcc 5) and also for situations like
buildfarm member mylodon that builds with -std=c99 explicitly.
(Otherwise, that configuration would get a bunch of compiler warnings
about uninitialized variables etc.) I also added the additional comment
about placement that you had requested.
I'm going to postpone the remaining two patches (about pg_nodiscard).
After experimenting a bit more, I'm less sure about what the correct
placement of C23 attributes is meant to be, and without understanding
that, I fear this would make the earlier question about the correct
placement of pg_noreturn unnecessarily more complicated. This can be a
future project.
After some reflection, I committed the middle patch ("Swap order of
extern/static and pg_nodiscard") after all. The code comment about the
provenance of the name needed updating anyway, and it made sense in that
context to adjust the order to make it more future-proof and make it
consistent with pg_noreturn.
I'll leave the last patch out for now, though.