[cfe-commits] r47539 - /cfe/trunk/include/clang/Basic/LangOptions.h

Neil Booth neil at daikokuya.co.uk
Tue Feb 26 06:50:18 PST 2008


Chris Lattner wrote:-

> >>>>-  unsigned Digraphs          : 1;  // When added to C?  C99?
> >>>>+  unsigned Digraphs          : 1;  // C++ and C99
> >>>>unsigned HexFloats         : 1;  // C99 Hexadecimal float
> >>>>constants.
> >>>>unsigned C99               : 1;  // C99 Support
> >>>>unsigned Microsoft         : 1;  // Microsoft extensions.
> >>>
> >>>Note they were added in C94.
> >>
> >>Fixed, thanks!  Good thing we distinguish between c89 and c94 :)
> >
> >GCC does, but it may not be a good idea.  C94 is just an amendment
> >to C90.  Do you also intend to support C03 and C06 as well as C99?
> >
> >Personally I think it's only necessary to support the latest
> >versions of C90 and C99, seeing as technically there are just those
> >two standards.
> 
> Honestly, I added this just because GCC had it: I did not invest much  
> thought into it.
> 
> Is there harm in supporting both c90 and c94 modes (likewise c++03 vs c 
> ++98 etc)?  If not, it seems reasonable to shoot for it?

No harm.  I wouldn't bother with C03 and C99; C99 should just be C06.
A lot of the changes are fixing errata in the standard anyway.

C94 at least had something quite new in it: digraphs and a couple(?)
of new headers.  But it was still just an updated C90.

I think more interesting and valuable is to support the drafts of
things like Decimal arithmetic, unicode and raw strings, and embedded
C with extra compiler switches.  It good to have more than just EDG
implement them.

Neil.



More information about the cfe-commits mailing list