From 1a0ebe6152e5e4d91eed9bafd7db2f294fd889a4 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Wed, 3 Jun 2009 14:48:33 +0000
Subject: [PATCH] Add comment about why "((void) 0)" is used in copy macros.

---
 src/backend/commands/copy.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index c8f5b7d1736..4f4b8474b09 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.309 2009/05/29 13:54:52 meskes Exp $
+ *	  $PostgreSQL: pgsql/src/backend/commands/copy.c,v 1.310 2009/06/03 14:48:33 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -175,7 +175,8 @@ typedef struct
 /*
  * These macros centralize code used to process line_buf and raw_buf buffers.
  * They are macros because they often do continue/break control and to avoid
- * function call overhead in tight COPY loops.
+ * function call overhead in tight COPY loops.  "((void) 0)" is used to silence
+ * compiler warnings.
  *
  * We must use "if (1)" because "do {} while(0)" overrides the continue/break
  * processing.	See http://www.cit.gu.edu.au/~anthony/info/C/C.macros.
-- 
GitLab