pgsql: Get rid of trailing semicolons in C macro definitions.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Get rid of trailing semicolons in C macro definitions.
Date: 2020-05-01 21:28:24
Message-ID: E1jUdCq-0005jb-P4@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Get rid of trailing semicolons in C macro definitions.

Writing a trailing semicolon in a macro is almost never the right thing,
because you almost always want to write a semicolon after each macro
call instead. (Even if there was some reason to prefer not to, pgindent
would probably make a hash of code formatted that way; so within PG the
rule should basically be "don't do it".) Thus, if we have a semi inside
the macro, the compiler sees "something;;". Much of the time the extra
empty statement is harmless, but it could lead to mysterious syntax
errors at call sites. In perhaps an overabundance of neatnik-ism, let's
run around and get rid of the excess semicolons whereever possible.

The only thing worse than a mysterious syntax error is a mysterious
syntax error that only happens in the back branches; therefore,
backpatch these changes where relevant, which is most of them because
most of these mistakes are old. (The lack of reported problems shows
that this is largely a hypothetical issue, but still, it could bite
us in some future patch.)

John Naylor and Tom Lane

Discussion: https://postgr.es/m/CACPNZCs0qWTqJ2QUSGJ07B7uvAvzMb-KbG2q+oo+J3tsWN5cqw@mail.gmail.com

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/c08da32f133b0fea794d7cf346bfa73021366d3a

Modified Files
--------------
contrib/btree_gist/btree_ts.c | 5 +++--
contrib/btree_gist/btree_utils_num.h | 2 +-
contrib/pg_trgm/trgm.h | 2 +-
contrib/pgcrypto/crypt-blowfish.c | 12 +++++++-----
src/backend/nodes/readfuncs.c | 8 ++++----
src/backend/optimizer/util/pathnode.c | 4 ++--
src/backend/utils/adt/formatting.c | 2 +-
src/backend/utils/sort/gen_qsort_tuple.pl | 2 +-
src/bin/pg_dump/pg_backup_archiver.h | 2 +-
src/include/access/hash.h | 2 +-
src/include/access/nbtree.h | 2 +-
src/port/qsort.c | 2 +-
src/port/qsort_arg.c | 2 +-
13 files changed, 25 insertions(+), 22 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tomas Vondra 2020-05-01 23:35:14 pgsql: Simplify cost_incremental_sort a bit
Previous Message Tom Lane 2020-05-01 20:17:02 pgsql: Doc: update sections 9.17 - 9.21 for new function table layout.