The following table lists C++0x features and their support in popular compilers.
|
|
|
|
|
|
Status Of C++ 0x Language Features in Compilers |
|
|
|
|
|
C++ 0x FEATURE |
PAPER(S) |
HP aCC |
EDG eccp |
Sun/ Oracle C++ |
Digital Mars C++ |
||||||
|
|
|
4.8 |
|
|
|
|
|
|
3.0 |
|
|
|
|
4.5 |
|
|
|
|
Yes |
|
2.9 |
|
Atomic operations |
|
|
4.4 |
13.0 |
11.0 |
|
|
|
|
3.1 |
|
|
|
4.1(v0.9) |
4.4(v1.0) |
11.0(v0.9) |
10.0(v0.9) |
11.1 (V1.0) |
|
|
|
Yes |
|
C99 preprocessor |
|
|
4.3 |
11.1 |
|
10.1 |
5.9 |
|
Yes |
Yes |
|
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="90c0c9ab-e64f-41b7-8e79-841482edeb27"><ac:plain-text-body><![CDATA[ |
Concepts [removed] |
[N2617 |
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2617.pdf] |
|
|
ConceptGcc |
]]></ac:plain-text-body></ac:structured-macro> |
||||
|
|
|
|
|
|
||||||
|
|
|
4.6 |
13.0 |
|
12.1 |
|
|
|
3.1 |
|
|
|
4.1(v1.0) |
4.3(v1.0) 4.8.1(v1.1) |
11.0(v1.0) |
10.0(v1.0), 11.0(v1.1) |
11.1 (V1.0) |
|
Yes |
|
2.9 |
|
Defaulted And Deleted Functions |
|
4.1 |
4.4 |
12.0 |
|
|
|
|
|
3.0 |
|
Delegating Constructors |
|
|
4.7 |
||||||||
11.0 nov'12 |
11.1 |
|
|
|
3.0 |
||||||
Explicit conversion operators |
|
|
4.5 |
13.0 |
11.0 nov'12 |
12.1 |
|
Yes |
|
3.0 |
|
Extended |
|
4.1 |
4.7 |
11.0 |
10.0*** |
V1R11,11.1 |
|
|
|
2.9 |
|
|
3, 5, 6 |
|
3.3 |
9 |
6.0 |
V1R11,11.1 |
|
Yes |
|
Yes |
|
Forward declarations for enums |
|
|
4.6 |
|
11.0 |
12.1 |
|
|
|
3.1 |
|
Inheriting Constructors |
|
|
4.8 |
||||||||
|
|
|
|
3.3 |
|||||||
Initializer Lists |
|
|
4.4 |
13.0 |
11.0 nov'12 |
|
|
|
|
3.1 |
|
Lambda expressions and closures |
|
4.1(v0.9) |
4.5(v1.1) |
11.0(v0.9) |
10.0(v1.0), 11.0(v1.1) |
|
|
|
|
3.1 |
|
Local and Unnamed Types as Template Arguments |
|
|
4.5 |
12.0 |
10.0 |
|
|
|
|
2.9 |
|
|
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
Namespace Association |
|
|
4.4 |
||||||||
|
11.1 |
|
|
|
2.9 |
||||||
New character types |
|
|
4.4 |
|
|
|
|
|
|
2.9 |
|
New function declaration syntax for deduced return types |
|
4.1 |
4.4 |
12.1 |
10.0 |
12.1 |
|
|
|
2.9 |
|
|
|
|
4.6 |
12.1* |
10.0 |
|
|
|
|
2.9 |
|
Unicode String Literals |
|
|
4.4 |
11.0* |
|
|
5.7 |
Yes |
|
3.0 |
|
Raw String Literals |
|
|
4.5 |
||||||||
11.0 nov'12 |
|
|
|
|
Yes |
||||||
User-defined Literals |
|
|
4.7 |
|
|
|
|
|
|
3.1 |
|
Right Angle Brackets |
|
4.1 |
4.3 |
11.0 |
8.0 |
12.1 |
|
|
|
Yes |
|
R-Value References, std::move |
|
4.1(v1.0) |
4.3(v1.0) |
11.1(v1.0) |
10.0(v2.0), 11.0(v2.1) |
12.1(v2.1) |
|
Yes |
|
Yes |
|
|
|
4.1 |
4.3 |
11.0 |
10.0 |
11.1 |
|
Yes |
|
2.9 |
|
Strongly-typed {{enum}}s |
|
|
4.4 |
12.0 |
11.0 |
12.1 |
|
Yes |
|
2.9 |
|
Template aliases |
|
|
4.7 |
12.1 |
|
|
|
|
|
3.0 |
|
Thread-Local Storage |
|
|
4.8 (4.4****) |
11.1*** |
|||||||
10.0*** |
|
5.9*** |
|
|
3.3(2.9****) |
||||||
Unrestricted Unions |
|
|
4.6 |
||||||||
|
|
|
|
|
3.0 |
||||||
Built-in Type Traits |
6.16 |
4.0 |
4.3 |
10.0 |
8.0 |
|
|
Yes |
|
3.0 |
|
Variadic Templates |
|
4.1(v0.9) |
4.3(v0.9) 4.4(v1.0) |
12.1(v0.9) |
11.0 nov'12 |
11.1 (v0.9) |
|
|
|
2.9(1.0) |
|
Range-based for-loop |
|
|
4.6 |
13.0 |
11.0 |
|
|
|
|
3.0 |
|
override and final |
|
|
4.7 |
12.0(v0.8)*** |
8.0(v0.8)*** 11.0(v1.0) |
|
|
|
|
2.9 |
|
Attributes |
|
|
4.8 |
12.1 |
|
|
|
|
|
3.3 |
|
ref-qualifiers |
|
|
4.8.1 |
|
|
|
|
|
|
2.9 |
|
Non-static data member initializers |
|
|
4.7 |
|
|
|
|
|
|
3.0 |
|
Dynamic initialization and destruction with concurrency (Magic statics) |
|
|
4.3 |
? |
|
|
|
|
|
2.9 |
- — 1) unicode string literals is a feature of the EDG frontend, but it is undocumented at Intel C++ compiler (/Qoption,cpp,"--uliterals" option enables it)
2) nullptr and nullptr_t supported with /Qoption,cpp,"--nullptr".
** — available in separate patch
*** — Partial support
**** — Partial support using the "__thread
" keyword instead of "thread_local
"
IBM XLC/C++ V1R11 is the IBM zSeries C/C++ compiler.