C++11 Language Features Compliance Status
Go Up to C++11
Here is the list of C++11 features that are supported by the RAD Studio C++ compilers.
Table
Feature | C++11 Proposal Document |
BCC32C | BCC32 | BCC64 | BCCOSX | BCCIOSARM | BCCIOSARM64 | BCCAARM |
---|---|---|---|---|---|---|---|---|
Rvalue references | N2118 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Rvalue references for *this
|
N2439 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Initialization of class objects by rvalues | N1610 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Non-static data member initializers | N2756 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Variadic templates | N2242 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Extending variadic template template parameters | N2555 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Initializer lists | N2672 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Static assertions | N1720 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
auto -typed variables
|
N1984 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Multi-declarator auto
|
N1737 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Removal of auto as a storage-class specifier | N2546 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
New function declarator syntax | N2541 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Lambda expressions | N2927 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Declared type of an expression | N2343 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Incomplete return types | N3276 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Right angle brackets | N1757 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Default template arguments for function templates | DR226 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Solving the SFINAE problem for expressions | DR339 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Alias templates | N2258 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Extern templates | N1987 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Null pointer constant | N2431 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Strongly-typed enums | N2347 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Forward declarations for enums | N2764 DR1206 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Standardized attribute syntax | N2761 | ![]() |
||||||
Generalized constant expressions | N2235 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Alignment support | N2341 | ![]() |
||||||
Conditionally-support behavior | N1627 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Changing undefined behavior into diagnosable errors | N1727 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Delegating constructors | N1986 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Inheriting constructors | N2540 | ![]() |
||||||
Explicit conversion operators | N2437 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
New character types | N2249 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Unicode string literals | N2442 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Raw string literals | N2442 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Universal character names in literals | N2170 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
User-defined literals | N2765 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Standard Layout Types | N2342 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Defaulted functions | N2346 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Deleted functions | N2346 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Extended friend declarations | N1791 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Extending sizeof
|
N2253 DR850 |
![]() |
![]() |
![]() |
![]() |
![]() | ||
Inline namespaces | N2535 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Unrestricted unions | N2544 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Local and unnamed types as template arguments | N2657 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Range-based for | N2930 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Explicit virtual overrides | N2928 N3206 N3272 |
![]() |
![]() |
![]() |
![]() |
![]() | ||
Minimal support for garbage collection and reachability-based leak detection | N2670 | |||||||
Allowing move constructors to throw [noexcept] | N3050 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Defining move special member functions | N3053 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Concurrency | ||||||||
Sequence points | N2239 | ![]() |
||||||
Atomic operations | N2427 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Strong Compare and Exchange | N2748 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Bidirectional Fences | N2752 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Memory model | N2429 | ![]() |
||||||
Data-dependency ordering: atomics and memory model | N2664 | ![]() |
||||||
Propagating exceptions | N2179 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Allow atomics use in signal handlers | N2547 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
Thread-local storage | N2659 | ![]() |
||||||
Dynamic initialization and destruction with concurrency | N2660 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
C99 Features in C++11 | ||||||||
__func__ predefined identifier
|
N2340 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
C99 preprocessor | N1653 | ![]() |
![]() |
![]() |
![]() |
![]() | ||
long long type
|
N1811 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Extended integral types | N1988 | ![]() |
![]() |
![]() |
![]() |
![]() |