Thomas Munro <thomas.munro@gmail.com> writes:
> On Mon, Jul 19, 2021 at 4:42 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> prairiedog thinks that Assert is too optimistic about whether all
>> those flags exist.
> Fixed.
Hmm ... we used to have to avoid putting #if constructs in the arguments
of macros (such as StaticAssertStmt). Maybe that's not a thing anymore
with C99, and in any case this whole stanza is fairly platform-specific
so we may not run into a compiler that complains. But my hindbrain wants
to see this done with separate statements, eg
#if defined(O_CLOEXEC)
StaticAssertStmt((PG_O_DIRECT & O_CLOEXEC) == 0,
"PG_O_DIRECT collides with O_CLOEXEC");
#endif
regards, tom lane