Mail Archives: djgpp-workers/2004/01/11/12:43:31
> Date: Sun, 11 Jan 2004 02:36:15 -0500
> From: CBFalconer <cbfalconer AT yahoo DOT com>
> >
> > #define bool _Bool
> >
> > which, I think is perfectly okay. What doesn't exist here? _Bool?
> > It's built into GCC, AFAIK.
>
> Not for K&R/C89/C90/C95. _Bool does not exist for these. The
> declaration "_Bool boolthing;" should result in an undefined
> error.
If you want this, you should compile with __STRICT_ANSI__, and then
_Bool should trigger an error. At least, our headers won't use _Bool
in that case.
> If the above #define has occurred, that error will result
> from the innocuous "bool boolthing;", and attempts to redefine
> bool with "#define bool int" will also result in confusing error
> messages.
It doesn't occur under strict ANSI compilation, which is all the user
should hope for.
> We may be approaching this from different viewpoints. Mine is that
> code should adhere to ISO standards, and that special efforts are
> needed to deviate from that.
That is indeed different from the whole library's philosophy, which
is the other way around: unless you request strict ANSI, you don't
get it.
> I consider GNU standards to be such
> a deviation, and so run gcc with -ansi -pedantic by default.
Then the suggested stdbool.h should be fine for you.
- Raw text -