On 12 August 2015 at 23:54, Dijk, J. van wrote: > Thanks for the clarification. I hope the attached patch against current > wwwdocs will be of use (only the name of the feature test macro is missing > in the new file cxx1z.html; did not manage to find that.) Thanks, I've committed the attached change to the wwwdocs repo. I'll add the other new C++17 features to it later today.
Index: htdocs/gcc-6/changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-6/changes.html,v retrieving revision 1.19 diff -u -r1.19 changes.html --- htdocs/gcc-6/changes.html 31 Jul 2015 12:06:47 -0000 1.19 +++ htdocs/gcc-6/changes.html 13 Aug 2015 08:35:44 -0000 @@ -68,8 +68,33 @@ <h3 id="cxx">C++</h3> <ul> <li>The default mode has been changed to <code>-std=gnu++14</code>.</li> + <li>C++ Concepts are now supported when compiling with + <code>-std=gnu++1z</code> or <code>-std=c++1z</code>.</li> </ul> +<h4 id="libstdcxx">Runtime Library (libstdc++)</h4> + <ul> + <li> Experimental support for C++17, including the following + new features: + <ul> + <li><code>std::uncaught_exceptions</code> function (this is also + available for <tt>-std=gnu++NN</tt> modes); </li> + <li>new member functions <code>try_emplace</code> and + <code>insert_or_assign</code> for unique_key maps;</li> + <li>non-member functions <code>std::size</code>, + <code>std::empty</code>, and <code>std::data</code> for + accessing containers and arrays; + <li><code>std::shared_mutex</code>;</li> + <li><code>std::void_t</code> and <code>std::bool_constant</code> + utilities. </li> + </ul> + </li> + <li>An experimental implementation of the File System TS.</li> + <li>Experimental support for most features of the second version of the + Library Fundamentals TS.</li> + </ul> + + <h3 id="fortran">Fortran</h3> <ul> <li>The <code>MATMUL</code> intrinsic is now inlined for straightforward Index: htdocs/projects/cxx1y.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/projects/cxx1y.html,v retrieving revision 1.23 diff -u -r1.23 cxx1y.html --- htdocs/projects/cxx1y.html 19 Apr 2015 18:21:43 -0000 1.23 +++ htdocs/projects/cxx1y.html 13 Aug 2015 08:35:44 -0000 @@ -167,23 +167,9 @@ <h2>C++14 Library Features</h2> <p>The status of the library implementation can be tracked in this - <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014">table</a> + <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014">table</a>. </p> - <h2>Development Branches</h2> - - <a name="concepts"></a><h3>C++1z Concepts Branch</h3> - -<p>Concepts was a major feature planned for the C++11 standard, but it was -eventually dropped due to concerns about both the description and -implementability. Since the publication of C++11, people have been working -on scaled-down versions of the concepts feature. One approach to concepts, -known as <a href="http://concepts.axiomatics.org/~ans/">Concepts Lite</a>, -has been prototyped in GCC and seems likely to be published as a Technical -Specification in 2015. The initial implementation is available from the -link above, and it is in the process of being cleaned up and moved into -the <code>c++-concepts</code> branch.</p> - </body> </html> Index: htdocs/projects/cxx1z.html =================================================================== RCS file: htdocs/projects/cxx1z.html diff -N htdocs/projects/cxx1z.html --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ htdocs/projects/cxx1z.html 13 Aug 2015 08:35:44 -0000 @@ -0,0 +1,66 @@ +<html> +<head> + <title>C++1z Support in GCC</title> + <style type="text/css"> + /* <![CDATA[*/ + tr.separator { background: #ffffcc} + .supported { color: green } + .unsupported { color: red } + /* ]]> */ + </style> +</head> + +<body> + <h1>C++1z Support in GCC</h1> + + <p>GCC has experimental support for the next revision of the C++ + standard, which is expected to be published in 2017.</p> + + <p>C++1z features are available as part of the "mainline" GCC + compiler in the trunk of + <a href="../svn.html">GCC's Subversion + repository</a> and in GCC 4.9 and later. To enable C++1z + support, add the command-line parameter <code>-std=c++1z</code> + to your <code>g++</code> command line. Or, to enable GNU + extensions in addition to C++1z extensions, + add <code>-std=gnu++1z</code> to your <code>g++</code> command + line.</p> + + <p><strong>Important</strong>: Because the final ISO C++1z standard is + still evolving, GCC's support is <strong>experimental</strong>. No attempt + will be made to maintain backward compatibility with implementations of + C++1y features that do not reflect the final standard.</p> + +<h2>C++1z Language Features</h2> + + <p>The following table lists new language features that have been + accepted into the C++1z working draft or an ISO TS. The "Proposal" column + provides a link to the ISO C++ committee proposal that describes the + feature, while the "Available in GCC?" column indicates the first + version of GCC that contains an implementation of this feature (if + it has been implemented).</p> + + <table border="1"> + <tr class="separator"> + <th>Language Feature</th> + <th>Proposal</th> + <th>Available in GCC?</th> + <th>SD-6 Feature Test</th> + </tr> + <tr> + <td>C++ concepts</td> + <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf">N4377</a></td> + <td class="supported" align="center"><a href="../gcc-6/changes.html#cxx">6</a></td> + <td> __cpp_concepts >= 201507 </td> + </tr> + </table> + + <h2>C++1z Library Features</h2> + + <p>The status of the library implementation can be tracked in this + <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.201z">table</a>. + </p> + +</body> +</html> +