Re: pgsql: Make the order of the header file includes consistent in non-bac - Mailing list pgsql-committers

From Andrew Gierth
Subject Re: pgsql: Make the order of the header file includes consistent in non-bac
Date
Msg-id 87h83xmg4m.fsf@news-spur.riddles.org.uk
Whole thread Raw
In response to Re: pgsql: Make the order of the header file includes consistent in non-bac  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: pgsql: Make the order of the header file includes consistent in non-bac  (Amit Kapila <amit.kapila16@gmail.com>)
List pgsql-committers
>>>>> "Amit" == Amit Kapila <amit.kapila16@gmail.com> writes:

 Amit> BTW, prairiedog is also show similar failure and both seems to
 Amit> have similar OS except for versions.

Be aware that prairiedog and locust (unlike the rest of the buildfarm)
have compilers whose "bool" type is not 1 byte long; PG can't use that,
so we don't include <stdbool.h> on those platforms.

Looking at c.h, the problem seems to be that when we define our own bool
in the absence of a usable stdbool.h, we do so as a typedef and not a
macro. So pgtypeslib_extern.h ends up redefining it in that case, and
(this bit may be my fault: see d26a810eb) uses a different type to c.h
(char vs. unsigned char).

(stdbool.h is required by spec to do #define bool _Bool rather than a
typedef, hence the difference in behavior)

I'm no expert on the ECPG internals, but this doesn't look like an
exposed interface, so maybe it just shouldn't be trying to #define bool
at all and just rely on c.h (from postgres_fe.h) to declare the type?

-- 
Andrew (irc:RhodiumToad)



pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: pgsql: Make the order of the header file includes consistent innon-bac
Next
From: Amit Kapila
Date:
Subject: Re: pgsql: Make the order of the header file includes consistent in non-bac