From 795e94c70cf13f60b2cb4010f29a1bca542d2031 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 11 Dec 2025 09:19:17 +0100 Subject: [PATCH] Make consistently available in frontend and backend Previously, c.h made 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, also makes available static_assert(), which would be useful everywhere. So this patch moves 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 Discussion: https://www.postgresql.org/message-id/flat/CA%2BhUKGKvr0x_oGmQTUkx%3DODgSksT2EtgCA6LmGx_jQFG%3DsDUpg%40mail.gmail.com --- src/include/c.h | 2 +- src/include/regex/regcustom.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/include/c.h b/src/include/c.h index 55effdda0fd6..d2cdc76644c5 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 #include #include #include @@ -872,7 +873,6 @@ typedef NameData *Name; #elif defined(FRONTEND) -#include #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 1c0e92f168f5..4557e7a62c06 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 */