0001-Fix-most-Wundef-warnings.patch

text/plain

Filename: 0001-Fix-most-Wundef-warnings.patch
Type: text/plain
Part: 0
Message: Fix most -Wundef warnings

Patch

Format: format-patch
Series: patch 0001
Subject: Fix most -Wundef warnings
File+
contrib/hstore/hstore_compat.c 1 1
contrib/pgcrypto/imath.c 2 2
contrib/pg_standby/pg_standby.c 1 1
src/backend/libpq/be-fsstubs.c 2 2
src/backend/replication/logical/reorderbuffer.c 1 1
src/backend/storage/file/fd.c 1 1
src/backend/utils/hash/dynahash.c 7 7
src/backend/utils/mmgr/freepage.c 1 1
src/include/port/pg_bswap.h 8 0
src/port/snprintf.c 2 2
src/port/win32error.c 1 1
From 86e5e00e17762c174624f203b9c54fdf5fe815fb Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Mon, 23 Sep 2019 22:50:05 +0200
Subject: [PATCH] Fix most -Wundef warnings

In some cases #if was used instead of #ifdef in an inconsistent style.
Cleaning this up also helps when analyzing cases like
38d8dce61fff09daae0edb6bcdd42b0c7f10ebcd where this makes a
difference.

There are no behavior changes here, but the change in pg_bswap.h would
prevent possible accidental misuse by third-party code.
---
 contrib/hstore/hstore_compat.c                  |  2 +-
 contrib/pg_standby/pg_standby.c                 |  2 +-
 contrib/pgcrypto/imath.c                        |  4 ++--
 src/backend/libpq/be-fsstubs.c                  |  4 ++--
 src/backend/replication/logical/reorderbuffer.c |  2 +-
 src/backend/storage/file/fd.c                   |  2 +-
 src/backend/utils/hash/dynahash.c               | 14 +++++++-------
 src/backend/utils/mmgr/freepage.c               |  2 +-
 src/include/port/pg_bswap.h                     |  8 ++++++++
 src/port/snprintf.c                             |  4 ++--
 src/port/win32error.c                           |  2 +-
 11 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/contrib/hstore/hstore_compat.c b/contrib/hstore/hstore_compat.c
index 1d4e7484e4..d75e9cb23f 100644
--- a/contrib/hstore/hstore_compat.c
+++ b/contrib/hstore/hstore_compat.c
@@ -299,7 +299,7 @@ hstoreUpgrade(Datum orig)
 
 	if (valid_new)
 	{
-#if HSTORE_IS_HSTORE_NEW
+#ifdef HSTORE_IS_HSTORE_NEW
 		elog(WARNING, "ambiguous hstore value resolved as hstore-new");
 
 		/*
diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c
index 031b1b5cd5..9fae146dd6 100644
--- a/contrib/pg_standby/pg_standby.c
+++ b/contrib/pg_standby/pg_standby.c
@@ -145,7 +145,7 @@ CustomizableInitialize(void)
 	switch (restoreCommandType)
 	{
 		case RESTORE_COMMAND_LINK:
-#if HAVE_WORKING_LINK
+#ifdef HAVE_WORKING_LINK
 			SET_RESTORE_COMMAND("ln -s -f", WALFilePath, xlogFilePath);
 			break;
 #endif
diff --git a/contrib/pgcrypto/imath.c b/contrib/pgcrypto/imath.c
index 6936d2cdca..545f148a76 100644
--- a/contrib/pgcrypto/imath.c
+++ b/contrib/pgcrypto/imath.c
@@ -2361,12 +2361,12 @@ s_ucmp(mp_int a, mp_int b)
 static int
 s_vcmp(mp_int a, mp_small v)
 {
-#if _MSC_VER
+#ifdef _MSC_VER
 #pragma warning(push)
 #pragma warning(disable: 4146)
 #endif
 	mp_usmall	uv = (v < 0) ? -(mp_usmall) v : (mp_usmall) v;
-#if _MSC_VER
+#ifdef _MSC_VER
 #pragma warning(pop)
 #endif
 
diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c
index a750f921fa..b0ece7ec25 100644
--- a/src/backend/libpq/be-fsstubs.c
+++ b/src/backend/libpq/be-fsstubs.c
@@ -95,7 +95,7 @@ be_lo_open(PG_FUNCTION_ARGS)
 	LargeObjectDesc *lobjDesc;
 	int			fd;
 
-#if FSDB
+#ifdef FSDB
 	elog(DEBUG4, "lo_open(%u,%d)", lobjId, mode);
 #endif
 
@@ -118,7 +118,7 @@ be_lo_close(PG_FUNCTION_ARGS)
 				(errcode(ERRCODE_UNDEFINED_OBJECT),
 				 errmsg("invalid large-object descriptor: %d", fd)));
 
-#if FSDB
+#ifdef FSDB
 	elog(DEBUG4, "lo_close(%d)", fd);
 #endif
 
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 8ce28ad629..62e54240ec 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -3247,7 +3247,7 @@ typedef struct RewriteMappingFile
 	char		fname[MAXPGPATH];
 } RewriteMappingFile;
 
-#if NOT_USED
+#ifdef NOT_USED
 static void
 DisplayMapping(HTAB *tuplecid_data)
 {
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 94be62fa6e..fe2bb8f859 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -738,7 +738,7 @@ durable_link_or_rename(const char *oldfile, const char *newfile, int elevel)
 	if (fsync_fname_ext(oldfile, false, false, elevel) != 0)
 		return -1;
 
-#if HAVE_WORKING_LINK
+#ifdef HAVE_WORKING_LINK
 	if (link(oldfile, newfile) < 0)
 	{
 		ereport(elevel,
diff --git a/src/backend/utils/hash/dynahash.c b/src/backend/utils/hash/dynahash.c
index 0dfbec8e3e..de16adef17 100644
--- a/src/backend/utils/hash/dynahash.c
+++ b/src/backend/utils/hash/dynahash.c
@@ -243,7 +243,7 @@ struct HTAB
  */
 #define MOD(x,y)			   ((x) & ((y)-1))
 
-#if HASH_STATISTICS
+#ifdef HASH_STATISTICS
 static long hash_accesses,
 			hash_collisions,
 			hash_expansions;
@@ -706,7 +706,7 @@ init_htab(HTAB *hashp, long nelem)
 	/* Choose number of entries to allocate at a time */
 	hctl->nelem_alloc = choose_nelem_alloc(hctl->entrysize);
 
-#if HASH_DEBUG
+#ifdef HASH_DEBUG
 	fprintf(stderr, "init_htab:\n%s%p\n%s%ld\n%s%ld\n%s%d\n%s%ld\n%s%u\n%s%x\n%s%x\n%s%ld\n",
 			"TABLE POINTER   ", hashp,
 			"DIRECTORY SIZE  ", hctl->dsize,
@@ -832,7 +832,7 @@ hash_destroy(HTAB *hashp)
 void
 hash_stats(const char *where, HTAB *hashp)
 {
-#if HASH_STATISTICS
+#ifdef HASH_STATISTICS
 	fprintf(stderr, "%s: this HTAB -- accesses %ld collisions %ld\n",
 			where, hashp->hctl->accesses, hashp->hctl->collisions);
 
@@ -933,7 +933,7 @@ hash_search_with_hash_value(HTAB *hashp,
 	HASHBUCKET *prevBucketPtr;
 	HashCompareFunc match;
 
-#if HASH_STATISTICS
+#ifdef HASH_STATISTICS
 	hash_accesses++;
 	hctl->accesses++;
 #endif
@@ -988,7 +988,7 @@ hash_search_with_hash_value(HTAB *hashp,
 			break;
 		prevBucketPtr = &(currBucket->link);
 		currBucket = *prevBucketPtr;
-#if HASH_STATISTICS
+#ifdef HASH_STATISTICS
 		hash_collisions++;
 		hctl->collisions++;
 #endif
@@ -1130,7 +1130,7 @@ hash_update_hash_key(HTAB *hashp,
 	HASHBUCKET *oldPrevPtr;
 	HashCompareFunc match;
 
-#if HASH_STATISTICS
+#ifdef HASH_STATISTICS
 	hash_accesses++;
 	hctl->accesses++;
 #endif
@@ -1204,7 +1204,7 @@ hash_update_hash_key(HTAB *hashp,
 			break;
 		prevBucketPtr = &(currBucket->link);
 		currBucket = *prevBucketPtr;
-#if HASH_STATISTICS
+#ifdef HASH_STATISTICS
 		hash_collisions++;
 		hctl->collisions++;
 #endif
diff --git a/src/backend/utils/mmgr/freepage.c b/src/backend/utils/mmgr/freepage.c
index ba3bc20ef1..faf5d10158 100644
--- a/src/backend/utils/mmgr/freepage.c
+++ b/src/backend/utils/mmgr/freepage.c
@@ -164,7 +164,7 @@ static void FreePagePushSpanLeader(FreePageManager *fpm, Size first_page,
 static Size FreePageManagerLargestContiguous(FreePageManager *fpm);
 static void FreePageManagerUpdateLargest(FreePageManager *fpm);
 
-#if FPM_EXTRA_ASSERTS
+#ifdef FPM_EXTRA_ASSERTS
 static Size sum_free_pages(FreePageManager *fpm);
 #endif
 
diff --git a/src/include/port/pg_bswap.h b/src/include/port/pg_bswap.h
index dbf9df6155..dcd3eb08db 100644
--- a/src/include/port/pg_bswap.h
+++ b/src/include/port/pg_bswap.h
@@ -139,7 +139,14 @@ pg_bswap64(uint64 x)
  * the same result as a memcmp() of the corresponding original Datums, but can
  * be much cheaper.  It's generally safe to do this on big-endian systems
  * without any special transformation occurring first.
+ *
+ * If SIZEOF_DATUM is not defined, then postgres.h wasn't included and these
+ * macros probably shouldn't be used, so we define nothing.  Note that things
+ * like SIZEOF_DATUM == 8 would evaluate as 0 == 8 that case, so this could
+ * lead to the wrong implementation being selected and confusing errors, so
+ * defining nothing is safest.
  */
+#ifdef SIZEOF_DATUM
 #ifdef WORDS_BIGENDIAN
 #define		DatumBigEndianToNative(x)	(x)
 #else							/* !WORDS_BIGENDIAN */
@@ -149,5 +156,6 @@ pg_bswap64(uint64 x)
 #define		DatumBigEndianToNative(x)	pg_bswap32(x)
 #endif							/* SIZEOF_DATUM == 8 */
 #endif							/* WORDS_BIGENDIAN */
+#endif							/* SIZEOF_DATUM */
 
 #endif							/* PG_BSWAP_H */
diff --git a/src/port/snprintf.c b/src/port/snprintf.c
index 8fd997553e..e4bb15dfec 100644
--- a/src/port/snprintf.c
+++ b/src/port/snprintf.c
@@ -1052,7 +1052,7 @@ fmtint(long long value, char type, int forcesign, int leftjust,
 	}
 
 	/* disable MSVC warning about applying unary minus to an unsigned value */
-#if _MSC_VER
+#ifdef _MSC_VER
 #pragma warning(push)
 #pragma warning(disable: 4146)
 #endif
@@ -1061,7 +1061,7 @@ fmtint(long long value, char type, int forcesign, int leftjust,
 		uvalue = -(unsigned long long) value;
 	else
 		uvalue = (unsigned long long) value;
-#if _MSC_VER
+#ifdef _MSC_VER
 #pragma warning(pop)
 #endif
 
diff --git a/src/port/win32error.c b/src/port/win32error.c
index 7fd29eab37..f0582c8dad 100644
--- a/src/port/win32error.c
+++ b/src/port/win32error.c
@@ -188,7 +188,7 @@ _dosmaperr(unsigned long e)
 			ereport(DEBUG5,
 					(errmsg_internal("mapped win32 error code %lu to %d",
 									 e, doserr)));
-#elif FRONTEND_DEBUG
+#elif defined(FRONTEND_DEBUG)
 			fprintf(stderr, "mapped win32 error code %lu to %d", e, doserr);
 #endif
 			errno = doserr;
-- 
2.23.0