mirror of
https://github.com/postgres/postgres.git
synced 2025-12-13 14:22:43 +03:00
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
This commit is contained in:
@@ -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))
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user