Differences between revisions 118 and 119
Revision 118 as of 2013-04-16 07:59:14
Size: 12835
Editor: Miles Bader
Comment: Remove redundant "Thread-local Variables" row
Revision 119 as of 2013-05-13 21:05:07
Size: 12820
Editor: SethCantrell
Comment: adding clang 3.3 features
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
||<style="text-align:left">Inheriting Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm|N2540]] || || ||4.8 ||<<BR>> ||<<BR>> || || || || ||             || ||<style="text-align:left">Inheriting Constructors ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm|N2540]] || || ||4.8 ||<<BR>> ||<<BR>> || || || || ||3.3||
Line 35: Line 35:
||<style="text-align:left">Thread-Local Storage ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm|N2659]] || || ||4.8 (4.4****) ||11.1***<<BR>> ||10.0*** || ||5.9*** || || ||2.9**** || ||<style="text-align:left">Thread-Local Storage ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm|N2659]] || || ||4.8 (4.4****) ||11.1***<<BR>> ||10.0*** || ||5.9*** || || ||3.3(2.9****) ||
Line 41: Line 41:
||<style="text-align:left">Attributes ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf|N2761]] || || ||4.8 ||12.1 || || || || || ||             || ||<style="text-align:left">Attributes ||[[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf|N2761]] || || ||4.8 ||12.1 || || || || || ||3.3||

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

GCC

Intel C++

MSVC

IBM XLC++

Sun/ Oracle C++

Embarcadero C++ Builder

Digital Mars C++

Clang

alignas

N2341

4.8

3.0

alignof

N2341

4.5

Yes

2.9

Atomic operations

N2427

4.4

13.0

11.0

3.1

auto

v0.9: N1984, v1.0: N2546

4.1(v0.9)

4.4(v1.0)

11.0(v0.9)

10.0(v0.9)

11.1 (V1.0)

Yes

C99 preprocessor

N1653

4.3

11.1

10.1

5.9

Yes

Yes

Concepts [removed]

N2617

ConceptGcc


constexpr

N2235

4.6

13.0

12.1

3.1

decltype

v1.0: N2343, v1.1: N3276

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

N2346

4.1

4.4

12.0

3.0

Delegating Constructors

N1986

4.7


11.0 nov'12

11.1

3.0

Explicit conversion operators

N2437

4.5

13.0

11.0 nov'12

12.1

Yes

3.0

Extended friend Declarations

N1791

4.1

4.7

11.0

10.0***

V1R11,11.1

2.9

extern template

N1987

3, 5, 6

3.3

9

6.0

V1R11,11.1

Yes

Yes

Forward declarations for enums

N2764

4.6

11.0

12.1

3.1

Inheriting Constructors

N2540

4.8



3.3

Initializer Lists

N2672

4.4

13.0

11.0 nov'12

3.1

Lambda expressions and closures

v0.9: N2550, v1.0: N2658, v1.1: N2927

4.1(v0.9)

4.5(v1.1)

11.0(v0.9)
12.0(v1.0)

10.0(v1.0), 11.0(v1.1)

3.1

Local and Unnamed Types as Template Arguments

N2657

4.5

12.0

10.0

2.9

long long

N1811

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Namespace Association

N2535

4.4


11.1

2.9

New character types

N2249

4.4

2.9

New function declaration syntax for deduced return types

N2541

4.1

4.4

12.1

10.0

12.1

2.9

nullptr

N2431

4.6

12.1*

10.0

2.9

Unicode String Literals

N2442

4.4

11.0*

5.7

Yes

3.0

Raw String Literals

N2442

4.5


11.0 nov'12

Yes

User-defined Literals

N2765

4.7

3.1

Right Angle Brackets

N1757

4.1

4.3

11.0

8.0

12.1

Yes

R-Value References, std::move

v1.0: N2118, v2.0: N2844, v2.1: N2844+, v3.0: N3053

4.1(v1.0)

4.3(v1.0)
4.5(v2.1)
4.6(v3.0)

11.1(v1.0)
12.0(v2.0)

10.0(v2.0), 11.0(v2.1)

12.1(v2.1)

Yes

Yes

static_assert

N1720

4.1

4.3

11.0

10.0

11.1

Yes

2.9

Strongly-typed enums

N2347

4.4

12.0

11.0

12.1

Yes

2.9

Template aliases

N2258

4.7

12.1

3.0

Thread-Local Storage

N2659

4.8 (4.4****)

11.1***

10.0***

5.9***

3.3(2.9****)

Unrestricted Unions

N2544

4.6


3.0

Built-in Type Traits

N1836

6.16

4.0

4.3

10.0

8.0

Yes

3.0

Variadic Templates

v0.9: N2242, v1.0: N2555

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

N2930

4.6

13.0

11.0

3.0

override and final

v0.8: N2928, v0.9: N3206, v1.0: N3272

4.7

12.0(v0.8)***

8.0(v0.8)*** 11.0(v1.0)

2.9

Attributes

N2761

4.8

12.1

3.3

ref-qualifiers

N2439

4.8.1

2.9

Non-static data member initializers

N2756

4.7

3.0

Dynamic initialization and destruction with concurrency (Magic statics)

N2660

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.

Intel c++ C++0x Features Supported by Intel(R) C++ Compiler

C++0xCompilerSupport (last edited 2013-05-13 21:05:07 by SethCantrell)