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]