postgres.git / summary / log / commit / refs
commit ff47d4bf1f208227a2e087ef7269e88285fa257e
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun Sep 09 16:41:27 2018 +0000
Work around stdbool problem in dfmgr.c.
Commit 842cb9fa6 refactored things so that dfmgr.c includes <dlfcn.h>,
which before that had only been directly included in platform-specific
stub files. It turns out that on macOS, <dlfcn.h> includes <stdbool.h>,
and that causes problems on platforms where _Bool is not char-sized ...
which happens to include the PPC versions of macOS. Work around it
much as we have in plperl.h, by #undef'ing bool after including the
problematic file, but only if we're not using stdbool-style booleans.
Discussion: https://postgr.es/m/E1fxqjl-0003YS-NS@gemulon.postgresql.org
src/backend/utils/fmgr/dfmgr.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/backend/utils/fmgr/dfmgr.c b/src/backend/utils/fmgr/dfmgr.c
index c2a257258de..4a5cc7cfc7f 100644
--- a/src/backend/utils/fmgr/dfmgr.c
+++ b/src/backend/utils/fmgr/dfmgr.c
@@ -18,7 +18,17 @@
#ifdef HAVE_DLOPEN
#include <dlfcn.h>
+
+/*
+ * On macOS, <dlfcn.h> insists on including <stdbool.h>. If we're not
+ * using stdbool, undef bool to undo the damage.
+ */
+#ifndef USE_STDBOOL
+#ifdef bool
+#undef bool
+#endif
#endif
+#endif /* HAVE_DLOPEN */
#include "fmgr.h"
#include "lib/stringinfo.h"
[parent: ed0cdf0e0513]