On Fri, Feb 12, 2016 at 9:47 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> On Fri, Feb 12, 2016 at 9:39 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> Um, no, that does not follow. The unanswered question here is why, >>> when we *have not* included stdbool.h and *have* typedef'd bool as >>> just plain "char", we would get C99 bool behavior. > >> http://www.postgresql.org/message-id/d2106c2d-0f46-4cf9-af27-54f81ef6e...@postgrespro.ru >> seems to explain what happens pretty clearly. We #include something >> which #includes something which #includes something which #includes >> <stdbool.h>. It's not that surprising, is it? > > Well, the thing that is scaring me here is allowing a platform-specific > definition of "bool" to be adopted. If, for example, the compiler > writer decided that that should be int width rather than char width, > all hell would break loose.
That's true, but it doesn't really seem like a reason not to commit this patch. I mean, the coding here is (a) dangerous by your own admission and (b) actually breaks on platforms for which we allege support. If we find out that somebody has implemented an int-width bool we'll have some bigger decisions to make, but I don't see any particular reason why we've got to make those decisions now. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers