From: Richard Smith Date: Wed, 28 Sep 2016 21:01:37 +0000 (+0000) Subject: cxx_status: use HTML5 details/summary elements to hide implementation status X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=827cdbc176fffe396ca37d04aa7e6495b884dda4;p=clang cxx_status: use HTML5 details/summary elements to hide implementation status tables for fully-implemented language modes by default. Also add some missing elements to TS support table. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282631 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/www/cxx_status.html b/www/cxx_status.html index 1708211335..eaedc484d8 100644 --- a/www/cxx_status.html +++ b/www/cxx_status.html @@ -1,8 +1,7 @@ - + - + Clang - C++1z, C++14, C++11 and C++98 Status @@ -55,16 +54,18 @@ each language mode.

C++11 implementation status

-

Clang 3.3 and later implement all of the ISO - C++ 2011 standard. The following table describes the Clang version - in which each feature became available.

+

Clang 3.3 and later implement all of the ISO + C++ 2011 standard.

By default, Clang builds C++ code according to the C++98 standard, with many C++11 features accepted as extensions. You can use Clang in C++11 mode with the -std=c++11 option. Clang's C++11 mode can be used with libc++ or with gcc's libstdc++. +

+List of features and minimum Clang version with support + @@ -420,17 +421,20 @@ such as Clang that does not provide any extended integer types. because changing intmax_t would be an ABI-incompatible change.

+

C++14 implementation status

Clang 3.4 and later implement all of the ISO - C++ 2014 standard. The following table describes the -Clang version in which each feature became available.

+ C++ 2014 standard.

You can use Clang in C++14 mode with the -std=c++14 option (use -std=c++1y in Clang 3.4 and earlier).

+
+List of features and minimum Clang version with support +
Language Feature
@@ -512,20 +516,20 @@ added these functions in version 5.0, and libc++ added them in version 3.7.

+

C++1z implementation status

Clang has experimental support for some proposed features of the C++ standard following C++14, provisionally named C++1z. -The following table describes which C++1z features -have been implemented in Clang and in which Clang version they became -available.

- -

Note that support for these features may change or be removed without notice, -as the draft C++1z standard evolves.

+Note that support for these features may change or be removed without notice, +as the draft C++1z standard evolves.

You can use Clang in C++1z mode with the -std=c++1z option.

+
+List of features and minimum Clang version with support +
Language Feature
@@ -746,23 +750,27 @@ functions are evaluated right-to-left under the MS ABI when called using operato syntax, not left-to-right as P0145R3 requires.

+

Technical specifications and standing documents

ISO C++ also publishes a number of documents describing additional language -and library features that are not part of standard C++. The following table -describes which language features have been implemented in Clang and in which -Clang version they became available:

+and library features that are not part of standard C++.

+ +
+List of features and minimum Clang version with support
Language Feature
+ + @@ -794,29 +802,41 @@ Clang version they became available:

- + + + + + + + + + - + + - - - + + + + +
Document Latest draftCompiler flag Available in Clang?
SD-6: SG10 feature test recommendations SD-6N/A Clang 3.4 (N3745)
[TS] Concepts P0121R0NoWIP
[DRAFT TS] CoroutinesP0057R5WIP
[TS] Library Fundamentals, Version 1 (invocation type traits) N4480N/A No
[DRAFT TS] Library Fundamentals, Version 2 (source_location)N4529N4600N/A No
[TS] ModulesP0143R2No[DRAFT TS] ModulesN4592-fmodules-tsWIP
[TS] Transactional Memory N4514 No
+