Re: [HACKERS] taking stdbool.h into use

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@lists.postgresql.org, Michael Paquier <michael@paquier.xyz>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Thomas Munro <thomas.munro@enterprisedb.com>
Date: 2018-03-23T02:17:29Z
Lists: pgsql-hackers
On 3/21/18 07:48, Peter Eisentraut wrote:
> On 3/21/18 01:51, Tom Lane wrote:
>> Andres Freund <andres@anarazel.de> writes:
>>> On March 20, 2018 8:24:41 PM PDT, Michael Paquier <michael@paquier.xyz> wrote:
>>>> Yeah, I agree with that.  Just not using stdbool.h in those cases ought
>>>> to be fine.  Any platforms where sizeof(bool) is 4 involves macos older
>>>> than 10.5 and Windows platforms using MSVC versions older than 2003
>>>> (didn't look further down either).
>>
>>> Aren't there some somewhat modern architectures where that's still the case, for performance reasons? PPC or such?
>>
>> Well, hydra (F16 on ppc64) has sizeof(bool) = 1.  Don't have any other
>> good datapoints handy.  Presumably we'd set up configure to report
>> what it found out, so it wouldn't take long to survey the buildfarm.
> 
> I've pushed the configure tests.  Let's see what they say.

So after a day, only the old macOS PowerPC systems have sizeof(bool) == 4.

I have committed the rest of this patch now.

Windows could use some manual adjustments in pg_config.h.win32 if anyone
cares.  (That file also needs some more updates.)

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Use stdbool.h if suitable

  2. Add configure tests for stdbool.h and sizeof bool

  3. Remove useless use of bit-masking macros

  4. Change various Gin*Is* macros to return 0/1.

  5. Fix several possibly non-portable gaffs in record_image_ops.