postgres.git / summary / log / commit / refs
commit 39bfc94c86f1990e9db8ea3da0e82995cc1b76db
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun Jul 01 02:27:49 2012 +0000
First released in: 9.3.0
Suppress compiler warnings in readfuncs.c.
Commit 7357558fc8866e3a449aa9473c419b593d67b5b6 introduced "(void) token;"
into the READ_TEMP_LOCALS() macro, to suppress complaints from gcc 4.6
when the value of token was not used anywhere in a particular node-read
function. However, this just moved the warning around: inspection of
buildfarm results shows that some compilers are now complaining that token
is being read before it's set. Revert the READ_TEMP_LOCALS() macro change
and instead put "(void) token;" into READ_NODE_FIELD(), which is the
principal culprit for cases where the warning might occur. In principle we
might need the same in READ_BITMAPSET_FIELD() and/or READ_LOCATION_FIELD(),
but it seems unlikely that a node would consist only of such fields, so
I'll leave them alone for now.
src/backend/nodes/readfuncs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
index 89ddf62d4dc..ff77cefd07b 100644
--- a/src/backend/nodes/readfuncs.c
+++ b/src/backend/nodes/readfuncs.c
@@ -48,8 +48,7 @@
/* And a few guys need only the pg_strtok support fields */
#define READ_TEMP_LOCALS() \
char *token; \
- int length; \
- (void) token /* possibly unused */
+ int length
/* ... but most need both */
#define READ_LOCALS(nodeTypeName) \
@@ -113,6 +112,7 @@
/* Read a Node field */
#define READ_NODE_FIELD(fldname) \
token = pg_strtok(&length); /* skip :fldname */ \
+ (void) token; /* in case not used elsewhere */ \
local_node->fldname = nodeRead(NULL, 0)
/* Read a bitmapset field */
[parent: fa188b5ef568]