http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46912
--- Comment #8 from Iain Sandoe <iains at gcc dot gnu.org> 2011-01-03 21:54:37 UTC --- (In reply to comment #7) > (In reply to comment #5) > > On Dec 16, 2010, at 2:06 PM, iains at gcc dot gnu.org wrote: > > > gcc/system.h : > > > > > # define bool unsigned char > > > > This is wrong. The solution is simple: > > > > #define bool _Bool > > > > on darwin. Arguably, this is correct for every non-broken system as well. > > We can't rely on GCC or C99 support. The correct fix is to define > bool to unsigned int for darwin then (and pay the space efficience loss > price). it is fixed by http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01361.html which either needs a global reviewer, or declaring to be obvious (Mike Stump reviewed at http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01425.html)