Mail Archives: djgpp-workers/2004/01/09/22:00:21
Richard Dawe wrote:
> CBFalconer wrote:
> [snip]
> > Injecting _Bool is no problem, using it (under C90) is. So the
> > only problem that can arise is not having the underlying C99
> > abilities. Therefore the proposed stdbool.h is fine, with the
> > solitary exception of the "|| STRICT_ANSI" term.
>
> I'm having trouble understanding your point(s).
>
> * C89 doesn't define _Bool.
> * Does C90 define _Bool? What is C90?
> * C99 does define _Bool.
>
> The C99 sections are protected by:
>
> (Standard C version defines >= C99) && !(strict ANSI)
>
> If we're using -ansi/-std=c89/-std=gnu89, __STRICT_ANSI__ will be
> defined but the C version defines won't. So the C99 section will *not*
> be included.
>
> If we're using -std=c99/-std=gnu99, then __STRICT_ANSI__ and the C
> version defines are defined. So the C99 section will be included.
>
> If no -ansi/-std switches are used, then __STRICT_ANSI__ is not defined
> and the C99 section will be included. Note that this is independent of
> whatever mode the compiler operates in by default.
>
> So I don't see what the problem is.
Maybe I've got my head up. This was the line that gave me the
impression that !defined(__STRICT_ANSI__) would let things in. It
uses ||.
>>>#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
>>> || !defined(__STRICT_ANSI__)
--
Chuck F (cbfalconer AT yahoo DOT com) (cbfalconer AT worldnet DOT att DOT net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!
- Raw text -