aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-05-01 17:28:00 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2020-05-01 17:28:00 -0400
commit0da06d9faf9e865c7d16a358a30ebe1a0014a709 (patch)
tree369f6076d0fe7f51f2a6159c49ae993dd9484c9d /src/backend
parentd66935448f41b1e0af11a939b6c5aaa9a619524a (diff)
downloadpostgresql-0da06d9faf9e865c7d16a358a30ebe1a0014a709.tar.gz
postgresql-0da06d9faf9e865c7d16a358a30ebe1a0014a709.zip
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
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/nodes/readfuncs.c8
-rw-r--r--src/backend/optimizer/util/pathnode.c4
-rw-r--r--src/backend/utils/adt/formatting.c6
-rw-r--r--src/backend/utils/sort/gen_qsort_tuple.pl2
4 files changed, 11 insertions, 9 deletions
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
index 644e0f5fc73..eb01584a5f6 100644
--- a/src/backend/nodes/readfuncs.c
+++ b/src/backend/nodes/readfuncs.c
@@ -154,22 +154,22 @@
/* Read an attribute number array */
#define READ_ATTRNUMBER_ARRAY(fldname, len) \
token = pg_strtok(&length); /* skip :fldname */ \
- local_node->fldname = readAttrNumberCols(len);
+ local_node->fldname = readAttrNumberCols(len)
/* Read an oid array */
#define READ_OID_ARRAY(fldname, len) \
token = pg_strtok(&length); /* skip :fldname */ \
- local_node->fldname = readOidCols(len);
+ local_node->fldname = readOidCols(len)
/* Read an int array */
#define READ_INT_ARRAY(fldname, len) \
token = pg_strtok(&length); /* skip :fldname */ \
- local_node->fldname = readIntCols(len);
+ local_node->fldname = readIntCols(len)
/* Read a bool array */
#define READ_BOOL_ARRAY(fldname, len) \
token = pg_strtok(&length); /* skip :fldname */ \
- local_node->fldname = readBoolCols(len);
+ local_node->fldname = readBoolCols(len)
/* Routine exit */
#define READ_DONE() \
diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c
index e991385059f..d09bc6d291a 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -3859,7 +3859,7 @@ do { \
(path) = reparameterize_path_by_child(root, (path), child_rel); \
if ((path) == NULL) \
return NULL; \
-} while(0);
+} while(0)
#define REPARAMETERIZE_CHILD_PATH_LIST(pathlist) \
do { \
@@ -3870,7 +3870,7 @@ do { \
if ((pathlist) == NIL) \
return NULL; \
} \
-} while(0);
+} while(0)
Path *new_path;
ParamPathInfo *new_ppi;
diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c
index 95f7d0538e0..aab5802edb4 100644
--- a/src/backend/utils/adt/formatting.c
+++ b/src/backend/utils/adt/formatting.c
@@ -479,7 +479,7 @@ typedef struct
(_X)->mode, (_X)->hh, (_X)->pm, (_X)->mi, (_X)->ss, (_X)->ssss, \
(_X)->d, (_X)->dd, (_X)->ddd, (_X)->mm, (_X)->ms, (_X)->year, \
(_X)->bc, (_X)->ww, (_X)->w, (_X)->cc, (_X)->j, (_X)->us, \
- (_X)->yysz, (_X)->clock);
+ (_X)->yysz, (_X)->clock)
#define DEBUG_TM(_X) \
elog(DEBUG_elog_output, "TM:\nsec %d\nyear %d\nmin %d\nwday %d\nhour %d\nyday %d\nmday %d\nnisdst %d\nmon %d\n",\
(_X)->tm_sec, (_X)->tm_year,\
@@ -2731,11 +2731,13 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out, Oid col
str_numth(s, s, S_TH_TYPE(n->suffix));
s += strlen(s);
break;
+
#define DCH_to_char_fsec(frac_fmt, frac_val) \
sprintf(s, frac_fmt, (int) (frac_val)); \
if (S_THth(n->suffix)) \
str_numth(s, s, S_TH_TYPE(n->suffix)); \
- s += strlen(s);
+ s += strlen(s)
+
case DCH_FF1: /* tenth of second */
DCH_to_char_fsec("%01d", in->fsec / 100000);
break;
diff --git a/src/backend/utils/sort/gen_qsort_tuple.pl b/src/backend/utils/sort/gen_qsort_tuple.pl
index 9ed6cfc7eaa..eb0f7c5814f 100644
--- a/src/backend/utils/sort/gen_qsort_tuple.pl
+++ b/src/backend/utils/sort/gen_qsort_tuple.pl
@@ -126,7 +126,7 @@ swapfunc(SortTuple *a, SortTuple *b, size_t n)
SortTuple t = *(a); \
*(a) = *(b); \
*(b) = t; \
- } while (0);
+ } while (0)
#define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n)