http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46912

--- Comment #4 from Iain Sandoe <iains at gcc dot gnu.org> 2010-12-16 22:05:55 
UTC ---
(In reply to comment #3)
> > it's all fall-out from the different assumed sizes of Bool (see also 46902).
> 
> ?  bool/_Bool is 4 on pcc.  Making it any other size introduces a abi bug. 
> What code assumes _Bool is 1 byte?  That would be the root cause that needs
> fixing.

Hm. I'm not sure where to go from here .. this touches everything.

gcc/system.h :

/* Provide a fake boolean type.  We make no attempt to use the
   C99 _Bool, as it may not be available in the bootstrap compiler,
   and even if it is, it is liable to be buggy.
   This must be after all inclusion of system headers, as some of
   them will mess us up.  */

#undef TRUE
#undef FALSE

#ifdef __cplusplus
  /* Obsolete.  */
# define TRUE true
# define FALSE false
#else /* !__cplusplus */
# undef bool
# undef true
# undef false

# define bool unsigned char
# define true 1
# define false 0

  /* Obsolete.  */
# define TRUE true
# define FALSE false
#endif /* !__cplusplus */

Reply via email to