From 5d3587d14b753cb25b0ebcd549d95e1b6ceebce4 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sat, 19 Oct 2019 18:21:58 +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. Discussion: https://www.postgresql.org/message-id/flat/3b615ca5-c595-3f1d-fdf7-a429e564f614%402ndquadrant.com --- 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..d2e0605a66 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 + * SIZEOF_DATUM == 8 would evaluate as 0 == 8 in that case, potentially + * leading 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;