From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/www/cxx_status.html | 381 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 381 insertions(+) create mode 100644 clang/www/cxx_status.html (limited to 'clang/www/cxx_status.html') diff --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html new file mode 100644 index 0000000..3687376 --- /dev/null +++ b/clang/www/cxx_status.html @@ -0,0 +1,381 @@ + + + + + Clang - C++98 and C++11 Status + + + + + + + + +
+ + +

C++98 and C++11 Support in Clang

+ +

Last updated: $Date: 2012-04-16 18:04:22 -0700 (Mon, 16 Apr 2012) $

+ +

C++98 implementation status

+ +

Clang currently implements all of the ISO C++ 1998 standard + (including the defects addressed in the ISO C++ 2003 standard) + except for 'export' (which has been removed in C++11) + and is considered a production-quality C++ compiler. The LLVM bug tracker contains a Clang + C++ component that tracks known Clang C++ bugs.

+ +

C++11 implementation status

+ +

Clang provides support for a number of features included in the new ISO C++ Standard, ISO/IEC 14882:2011. The following table describes which C++11 features have been implemented in Clang and in which Clang versions they became available.

+ +

You can use Clang in C++11 mode either +with libc++ or with gcc's libstdc++. +Patches are needed to make libstdc++-4.4 +and libstdc++-4.7 work with Clang in +C++11 mode.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Language FeatureC++11 ProposalAvailable in Clang?
Rvalue referencesN2118Clang 2.9
    Rvalue references for *thisN2439Clang 2.9
Initialization of class objects by rvaluesN1610Clang 2.9
Non-static data member initializersN2756Clang 3.0
Variadic templatesN2242Clang 2.9
    Extending variadic template template parametersN2555Clang 2.9
Initializer listsN2672SVN
Static assertionsN1720Clang 2.9
auto-typed variablesN1984Clang 2.9
    Multi-declarator autoN1737Clang 2.9
    Removal of auto as a storage-class specifierN2546Clang 2.9
    New function declarator syntaxN2541Clang 2.9
Lambda expressionsN2927SVN
Declared type of an expressionN2343Clang 2.9
    Incomplete return typesN3276SVN
Right angle bracketsN1757Clang 2.9
Default template arguments for function templatesDR226Clang 2.9
Solving the SFINAE problem for expressionsDR339Clang 2.9
Alias templatesN2258Clang 3.0
Extern templatesN1987Clang 2.9
Null pointer constantN2431Clang 3.0
Strongly-typed enumsN2347Clang 2.9
Forward declarations for enumsN2764 +
DR1206
SVN
Generalized attributesN2761No
Generalized constant expressionsN2235SVN
Alignment supportN2341Clang 3.0
Delegating constructorsN1986Clang 3.0
Inheriting constructorsN2540No
Explicit conversion operatorsN2437Clang 3.0
New character typesN2249Clang 2.9
Unicode string literalsN2442Clang 3.0
Raw string literalsN2442Clang 3.0
Universal character names in literalsN2170SVN
User-defined literalsN2765SVN
Standard Layout TypesN2342Clang 3.0
Defaulted functionsN2346Clang 3.0
Deleted functionsN2346Clang 2.9
Extended friend declarationsN1791Clang 2.9
Extending sizeofN2253 +
DR850
SVN
Inline namespacesN2535Clang 2.9
Unrestricted unionsN2544SVN
Local and unnamed types as template argumentsN2657Clang 2.9
Range-based forN2930Clang 3.0
Explicit virtual overridesN2928 +
N3206 +
N3272
Clang 3.0
Minimal support for garbage collection and reachability-based leak detectionN2670N/A
Allowing move constructors to throw [noexcept]N3050Clang 3.0
Defining move special member functionsN3053Clang 3.0
Concurrency
Sequence pointsN2239No
Atomic operationsN2427SVN
Strong Compare and ExchangeN2748No
Bidirectional FencesN2752SVN
Memory modelN2429No
Data-dependency ordering: atomics and memory modelN2664No
Propagating exceptionsN2179Clang 2.9
Abandoning a process and at_quick_exitN2440N/A
Allow atomics use in signal handlersN2547SVN
Thread-local storageN2659No
Dynamic initialization and destruction with concurrencyN2660No
C99 Features in C++11
__func__ predefined identifierN2340Clang 2.9
C99 preprocessorN1653Clang 2.9
long longN1811Clang 2.9
Extended integral typesN1988No
+
+ + -- cgit v1.2.3