pgsql: Various cleanups of the new memory context header code - Mailing list pgsql-committers

From David Rowley
Subject pgsql: Various cleanups of the new memory context header code
Date
Msg-id E1oT71A-000eO1-8a@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Various cleanups of the new memory context header code

Robert Haas reported that his older clang compiler didn't like the two
Asserts which were verifying that the given MemoryContextMethodID was <=
MEMORY_CONTEXT_METHODID_MASK when building with
-Wtautological-constant-out-of-range-compare.  In my (David's) opinion,
the compiler is wrong to warn about that.  Newer versions of clang don't
warn about the out of range enum value, so perhaps this was a bug that has
now been fixed.  To keep older clang versions happy, let's just cast the
enum value to int to stop the compiler complaining.

The main reason for the Asserts mentioned above to exist are to inform
future developers which are adding new MemoryContexts if they run out of
bit space in MemoryChunk to store the MemoryContextMethodID.  As pointed
out by Tom Lane, it seems wise to also add a comment to the header for
that enum to document the restriction on these enum values.

Additionally, also fix an incorrect usage of UINT64CONST() which was
introduced in c6e0fe1f2.

Author: Robert Haas, David Rowley
Discussion: https://postgr.es/m/CA+TgmoYGG2C7Vbw1cjkQRRBL3zOk8SmhrQnsJgzscX=N9AwPrw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/05f90842369538cf94bbd09970a008b9357f4101

Modified Files
--------------
src/include/utils/memutils_internal.h    | 5 ++++-
src/include/utils/memutils_memorychunk.h | 4 ++--
2 files changed, 6 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: David Rowley
Date:
Subject: pgsql: Revert "Add missing padding from MemoryChunk struct"
Next
From: Tom Lane
Date:
Subject: pgsql: On NetBSD, force dynamic symbol resolution at postmaster start.