On Wed, 5 Oct 2022 at 21:05, David Rowley <dgrowleyml@gmail.com> wrote:
> 5 warnings remain. 4 of these are for PG_TRY() and co.
I've attached a draft patch for a method I was considering to fix the
warnings we're getting from the nested PG_TRY() statement in
utility.c.
The C preprocessor does not allow name overloading in macros, but of
course, it does allow variable argument marcos with ... so I just
used that and added ##__VA_ARGS__ to each variable. I think that
should work ok providing callers only supply 0 or 1 arguments to the
macro, and of course, make that parameter value the same for each set
of macros used in the PG_TRY() statement.
The good thing about the optional argument is that we don't need to
touch any existing users of PG_TRY(). The attached just modifies the
inner-most PG_TRY() in the only nested PG_TRY() we have in the tree in
utility.c.
The only warning remaining after applying the attached is the "now"
warning in pgbench.c:7509. I'd considered changing this to "thenow"
which translates to "right now" in the part of Scotland that I'm from.
I also considered "nownow", which is used in South Africa [1].
Anyway, I'm not really being serious, but I didn't come up with
anything better than "now2". It's just I didn't like that as it sort
of implies there are multiple definitions of "now" and I struggle with
that... maybe I'm just thinking too much in terms of Newtonian
Relativity...
David
[1] https://www.goodthingsguy.com/fun/now-now-just-now/