diff options
| author | Peter Eisentraut | 2025-12-11 08:19:17 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2025-12-11 08:56:57 +0000 |
| commit | 795e94c70cf13f60b2cb4010f29a1bca542d2031 (patch) | |
| tree | 72484fa246f684234c1fc87ae5a36f8fde518020 | |
| parent | 4f7dacc5b82af19788599671abe4ac633fd7ea4c (diff) | |
Make <assert.h> consistently available in frontend and backend
Previously, c.h made <assert.h> only available in frontends (#ifdef
FRONTEND), which was probably reasonable, because the only thing it
would give you is assert(), which you generally shouldn't use in the
backend. But with C11, <assert.h> also makes available
static_assert(), which would be useful everywhere. So this patch
moves <assert.h> to the commonly available header files in c.h and
fixes a small complication in regcustom.h that resulted from that.
Co-authored-by: Thomas Munro <thomas.munro@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/CA%2BhUKGKvr0x_oGmQTUkx%3DODgSksT2EtgCA6LmGx_jQFG%3DsDUpg%40mail.gmail.com
| -rw-r--r-- | src/include/c.h | 2 | ||||
| -rw-r--r-- | src/include/regex/regcustom.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/include/c.h b/src/include/c.h index 55effdda0fd..d2cdc76644c 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -59,6 +59,7 @@ #include "pg_config_os.h" /* config from include/port/PORTNAME.h */ /* System header files that should be available everywhere in Postgres */ +#include <assert.h> #include <inttypes.h> #include <stdalign.h> #include <stdio.h> @@ -872,7 +873,6 @@ typedef NameData *Name; #elif defined(FRONTEND) -#include <assert.h> #define Assert(p) assert(p) #define AssertMacro(p) ((void) assert(p)) diff --git a/src/include/regex/regcustom.h b/src/include/regex/regcustom.h index 1c0e92f168f..4557e7a62c0 100644 --- a/src/include/regex/regcustom.h +++ b/src/include/regex/regcustom.h @@ -53,6 +53,7 @@ #define FREE(p) pfree(VS(p)) #define REALLOC(p,n) repalloc_extended(VS(p),(n), MCXT_ALLOC_NO_OOM) #define INTERRUPT(re) CHECK_FOR_INTERRUPTS() +#undef assert #define assert(x) Assert(x) /* internal character type and related */ |
