From a2098b60216c7a66054ee7b31e9f728bca43d004 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 1 May 2020 17:28:01 -0400 Subject: 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 --- src/include/access/hash.h | 2 +- src/include/access/nbtree.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/include') diff --git a/src/include/access/hash.h b/src/include/access/hash.h index 02ef67c974b..f77395115dc 100644 --- a/src/include/access/hash.h +++ b/src/include/access/hash.h @@ -158,7 +158,7 @@ typedef struct HashScanPosData (scanpos).firstItem = 0; \ (scanpos).lastItem = 0; \ (scanpos).itemIndex = 0; \ - } while (0); + } while (0) /* * HashScanOpaqueData is private state for a hash index scan. diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h index 516f697b4c7..e6b24408afb 100644 --- a/src/include/access/nbtree.h +++ b/src/include/access/nbtree.h @@ -421,7 +421,7 @@ typedef BTScanPosData *BTScanPos; (scanpos).buf = InvalidBuffer; \ (scanpos).lsn = InvalidXLogRecPtr; \ (scanpos).nextTupleOffset = 0; \ - } while (0); + } while (0) /* We need one of these for each equality-type SK_SEARCHARRAY scan key */ typedef struct BTArrayKeyInfo -- cgit v1.2.3