Use stdbool.h if suitable

Peter Eisentraut <peter_e@gmx.net>

Commit: 9a95a77d9d5d3003d2d67121f2731b6e5fc37336
Author: Peter Eisentraut <peter_e@gmx.net>
Date: 2018-03-23T00:42:25Z
Releases: 11.0
Use stdbool.h if suitable

Using the standard bool type provided by C allows some recent compilers
and debuggers to give better diagnostics.  Also, some extension code and
third-party headers are increasingly pulling in stdbool.h, so it's
probably saner if everyone uses the same definition.

But PostgreSQL code is not prepared to handle bool of a size other than
1, so we keep our own old definition if we encounter a stdbool.h with a
bool of a different size.  (Among current build farm members, this only
applies to old macOS versions on PowerPC.)

To check that the used bool is of the right size, add a static
assertions about size of GinTernaryValue vs bool.  This is currently the
only place that assumes that bool and char are of the same size.

Discussion: https://www.postgresql.org/message-id/flat/3a0fe7e1-5ed1-414b-9230-53bbc0ed1f49@2ndquadrant.com

Files

PathChange+/−
src/backend/utils/adt/tsginidx.c modified +3 −1
src/include/access/gin.h modified +2 −2
src/include/c.h modified +12 −2
src/include/pg_config.h.win32 modified +9 −0
src/pl/plperl/plperl.h modified +5 −5

Discussion