Re: define bool in pgtypeslib_extern.h

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Gierth <andrew@tao11.riddles.org.uk>
Cc: Amit Kapila <amit.kapila16@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Michael Meskes <meskes@postgresql.org>
Date: 2019-11-07T20:47:52Z
Lists: pgsql-hackers

Attachments

I wrote:
> I'm inclined to think that we need to make ecpglib.h's bool-related
> definitions exactly match c.h, which will mean that it has to pull in
> <stdbool.h> on most platforms, which will mean adding a control symbol
> for that to ecpg_config.h.  I do not think we should export
> HAVE_STDBOOL_H and SIZEOF_BOOL there though; probably better to have
> configure make the choice and export something named like PG_USE_STDBOOL.

Here's a proposed patch that does it like that.

I'm of two minds about whether to back-patch or not.  This shouldn't
really change anything except on platforms where sizeof(_Bool) isn't
one.  We have some reason to think that nobody is actually using
ecpg on such platforms :-(, because if they were, they'd likely have
complained about breakage.  So maybe we should just put this in HEAD
and be done.

			regards, tom lane

Commits

  1. Fix ecpglib.h to declare bool consistently with c.h.

  2. Move declaration of ecpg_gettext() to a saner place.

  3. Sync our DTrace infrastructure with c.h's definition of type bool.

  4. Get rid of useless/dangerous redefinition of bool in ECPG.