>>>>> "Amit" == Amit Kapila <[email protected]> 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)
