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