Author: Richard Smith Date: 2021-02-25T14:47:43-08:00 New Revision: d95c6d3b69219d7b3049732f4081e3bb6ca70016
URL: https://github.com/llvm/llvm-project/commit/d95c6d3b69219d7b3049732f4081e3bb6ca70016 DIFF: https://github.com/llvm/llvm-project/commit/d95c6d3b69219d7b3049732f4081e3bb6ca70016.diff LOG: [www] Add cxx_status tracking for C++23. Convert the list of standards to a table; it's starting to get unwieldy. Added: Modified: clang/www/cxx_status.html Removed: ################################################################################ diff --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html index 1c55ec982289..d7baa595d6ee 100755 --- a/clang/www/cxx_status.html +++ b/clang/www/cxx_status.html @@ -27,12 +27,45 @@ <h1>C++ Support in Clang</h1> <!--*************************************************************************--> -<p>Clang fully implements all published ISO C++ standards -(<a href="#cxx98">C++98 / C++03</a>, -<a href="#cxx11">C++11</a>, -<a href="#cxx14">C++14</a>, and -<a href="#cxx17">C++17</a>), and some of the upcoming <a -href="#cxx20">C++20</a> standard. +<p>Clang implements the following published and upcoming ISO C++ standards:</p> + +<table width="689" border="1" cellspacing="0"> +<tr> + <th>Language Standard</th> + <th>Flag</th> + <th>Available in Clang?</th> +</tr> +<tr> + <td><a href="#cxx98">C++98 / C++03</a></td> + <td><tt>-std=c++98</tt></td> + <td class="full" align="center">Yes (other than <tt>export</tt>)</td> +</tr> +<tr> + <td><a href="#cxx11">C++11</a></td> + <td><tt>-std=c++11</tt></td> + <td class="full" align="center">Clang 3.3</td> +</tr> +<tr> + <td><a href="#cxx14">C++14</a></td> + <td><tt>-std=c++14</tt></td> + <td class="full" align="center">Clang 3.4</td> +</tr> +<tr> + <td><a href="#cxx17">C++17</a></td> + <td><tt>-std=c++17</tt></td> + <td class="full" align="center">Clang 5</td> +</tr> +<tr> + <td><a href="#cxx20">C++20</a></td> + <td><tt>-std=c++20</tt></td> + <td class="partial" align="center">Partial</td> +</tr> +<tr> + <td><a href="#cxx23">C++2b (tentatively C++23)</a></td> + <td><tt>-std=c++2b</tt></td> + <td class="none" align="center">No</td> +</tr> +</table> <p>The Clang community is continually striving to improve C++ standards compliance between releases by submitting and tracking <a @@ -823,7 +856,7 @@ <h2 id="cxx17">C++17 implementation status</h2> <h2 id="cxx20">C++20 implementation status</h2> <p>Clang has support for some of the features of the -ISO C++ 2020 Draft International Standard. +<a href="https://www.iso.org/standard/79358.html">ISO C++ 2020 standard</a>. <p>You can use Clang in C++20 mode with the <code>-std=c++20</code> option (use <code>-std=c++2a</code> in Clang 9 and earlier).</p> @@ -1217,6 +1250,37 @@ <h2 id="cxx20">C++20 implementation status</h2> </p> </details> +<h2 id="cxx23">C++2b implementation status</h2> + +<p>Clang has support for some of the features of the C++ standard following +C++20, informally referred to as C++2b. + +<p>You can use Clang in C++2b mode with the <code>-std=c++2b</code> option.</p> + +<details open> +<summary>List of features and minimum Clang version with support</summary> + +<table width="689" border="1" cellspacing="0"> + <tr> + <th>Language Feature</th> + <th>C++2b Proposal</th> + <th>Available in Clang?</th> + </tr> + <!-- Fall 2020 papers --> + <tr> + <td>Literal suffix <tt>uz</tt>, <tt>z</tt> for <tt>size_t</tt>, <tt>ssize_t</tt></td> + <td><a href="https://wg21.link/p0330r8">P0330R8</a></td> + <td class="none" align="center">No</td> + </tr> + <!-- Spring 2021 papers --> + <tr> + <td>Make <tt>()</tt> in lambdas optional in all cases</td> + <td><a href="https://wg21.link/p1102r2">P1102R2</a></td> + <td class="none" align="center">No</td> + </tr> +</table> +</details> + <h2 id="dr">Defect reports</h2> <p>Clang generally aims to implement resolutions to Defect Reports (bug fixes _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits