From: Peter Eisentraut Date: Fri, 23 Mar 2018 20:31:49 +0000 (-0400) Subject: Further fix interaction of Perl and stdbool.h X-Git-Tag: REL_11_BETA1~499 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=66ee8513d10fb207907d61dd6cf42db7d703af5d;p=postgresql Further fix interaction of Perl and stdbool.h In the case that PostgreSQL uses stdbool.h but Perl doesn't, we need to prevent Perl from defining bool, to prevent compiler warnings about redefinition. --- diff --git a/src/pl/plperl/plperl.h b/src/pl/plperl/plperl.h index 05bdf7c115..843331e9dd 100644 --- a/src/pl/plperl/plperl.h +++ b/src/pl/plperl/plperl.h @@ -50,6 +50,18 @@ #define __inline__ inline #endif +/* + * Regarding bool, both PostgreSQL and Perl might use stdbool.h or not, + * depending on configuration. If both agree, things are relatively harmless. + * If not, things get tricky. If PostgreSQL does but Perl does not, define + * HAS_BOOL here so that Perl does not redefine bool; this avoids compiler + * warnings. If PostgreSQL does not but Perl does, we need to undefine bool + * after we include the Perl headers; see below. + */ +#ifdef USE_STDBOOL +#define HAS_BOOL 1 +#endif + /* * Get the basic Perl API. We use PERL_NO_GET_CONTEXT mode so that our code