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.