summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2025-12-11 08:19:17 +0000
committerPeter Eisentraut2025-12-11 08:56:57 +0000
commit795e94c70cf13f60b2cb4010f29a1bca542d2031 (patch)
tree72484fa246f684234c1fc87ae5a36f8fde518020
parent4f7dacc5b82af19788599671abe4ac633fd7ea4c (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.h2
-rw-r--r--src/include/regex/regcustom.h1
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 */