Test Comeau C/C++ Online!!
Minor patch information
About Comeau C/C++
General C/C++ Issues
Comeau Training Courses
FORMS or HTML or ASCII
Committee "Issues Lists"
Standard C++ Press release
How to obtain Standard C++
CCsh, UNIX Shell Compiler:|
Thoughts from Greg Comeau
LINKS to C++ sites
C and C++ Tech Talk
Comeau Templates FAQ
Comeau C99 FAQ
Change your Email path
WEB SITE CURRENTLY UNDER REVISION -- March 31
* * * 4.3.9 Features * * *
Comeau C/C++ 4.3.9 includes a number of new features
and enhancements in addition to the wide span of Standard C++ and Standard C
features that we already support. Comeau
C/C++ 4.3.9 continues our serious tracking
of all the ANSI/ISO C++ committee and ANSI/ISO C committee deliberations to date. These additions
bring us, yet again, even stronger as we continue
post compliance language-wise and into the upcoming "C++0x" standard, whenever that may be.
Of course, Comeau C++ is also Comeau C, and so we strongly support Standard C as well. Furthermore, we even support the core language features of C99, the newest revision of Standard C, as well as a Microsoft compatibility mode. There are other modes too, check our online documentation.
Bursting With So Much Language Support It Hurts!
What's new in Comeau C/C++ 4.3.9?
The 4.3.9 free C/C++ upgrade adds a number of features in addition
to those features already supported.
Comeau C/C++ 4.3.9 continues our absolutely meticulous tracking
of Standard C++ and Standard C.
Don't hesitate to try these features out with "Comeau online".
There is also a Comeau for Windows beta available for sale, or as a beta upgrade for existing Comeau for Windows customers, upon request.
Here's the new features:
/* the end, for now :) */
- C++0x additions. These C++0x'isms are now available on some platforms as of Comeau C/C++ 4.3.9. They are enabled with our new --c++0x command line option, even in strict mode:
- static_assert ala N1720
- auto type specifier ala N1984
- extern template
- directly binding reference to class rvalue even if [an elided] copy ctor is inaccessible, etc. ala core issue 391
- long long supported ala N1811
- We have supported this "forever", however, as an extension. It was officially added to C99, and hence our C99 mode, and now it is in the C++ draft working paper, and hence in our C++0x mode.
- long long type, and unsigned long long
- Support for ll, ull, LL, and ULL constant suffixes, with warnings on use of Ll or lL in strict mode.
- If available for your platform, it is assumed that the C compiler used, or a third party library such as Dinkumware's, supports a %lld in the printf and scanf families if you use those routines to input/output (so this assumes sscanf, fprintf, etc. too).
libcomo's iostreams already supported long long.
- Normally in strict mode it is necessary to have to specify --long_long in order to enable long long's; this option is not necessary in C++0x mode, even when strict'd.
- relaxed typename outside of templates ala core issue 382
- relaxed ::template et al disambiguators outside of templates ala core issue 468
- C99 style variadic macros ala N1653
- empty macro arguments ala N1653
- >> as closing angle brackets ala N1757
- extended 'friend T;' style class declarations ala N1791
- concatenation of mixed char and wide string literals ala N1653
- last enumerator may have trailing comma ala core issue 518