Move NON_EXEC_STATIC from c.h
Looking to tidy up c.h a bit, I think the NON_EXEC_STATIC #define
doesn't need to be known globally, and it's not related to establishing
a portable C environment, so I propose to move it to a more localized
header, such as postmaster.h, as in the attached patch.
Attachments:
0001-Move-NON_EXEC_STATIC-from-c.h-to-postmaster.h.patchtext/plain; charset=UTF-8; name=0001-Move-NON_EXEC_STATIC-from-c.h-to-postmaster.h.patchDownload+7-8
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
Looking to tidy up c.h a bit, I think the NON_EXEC_STATIC #define
doesn't need to be known globally, and it's not related to establishing
a portable C environment, so I propose to move it to a more localized
header, such as postmaster.h, as in the attached patch.
Hmm, postgres.h seems like a better choice, since in principle any
backend file might need this. This arrangement could require
postmaster.h to be included just for this macro.
Also, the macro was severely underdocumented already, and I don't
find "no comment at all" to be better. Can't we afford a couple
of lines of explanation?
regards, tom lane
On 16.08.22 15:50, Tom Lane wrote:
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
Looking to tidy up c.h a bit, I think the NON_EXEC_STATIC #define
doesn't need to be known globally, and it's not related to establishing
a portable C environment, so I propose to move it to a more localized
header, such as postmaster.h, as in the attached patch.Hmm, postgres.h seems like a better choice, since in principle any
backend file might need this. This arrangement could require
postmaster.h to be included just for this macro.
I picked postmaster.h because the other side of the code, where the
no-longer-static symbols are used, is in postmaster.c. But postgres.h
is also ok.
Also, the macro was severely underdocumented already, and I don't
find "no comment at all" to be better. Can't we afford a couple
of lines of explanation?
Here is a new patch with more comments.