> From: Jonathan Wakely [jwakely.gcc@xxxxxxxxx] >Sent: 12 August 2015 17:41 >On 12 August 2015 at 16:20, Dijk, J. van wrote: >> Dear all, >> >> Looking into gcc/cp/Changelog, it appears that on 2015-08-06 support >> for the C++ Concepts TS was added to trunk. >> >> Have Concepts in gcc matured to the point that end-users can >> start to explore and test them? If so, the page https://gcc.gnu.org/projects/cxx1y.html >> needs an update, since it mentions the c++1z Concepts >> Lite *branch* at the end of the document. > >Yes, the branch is not in use any longer, all support is on the trunk. > >> There is also no explanation how to enable experimental >> c++1z features that I can see on that page (like there is for >> c++14 at the top of the page). I suppose a new section on >> 'C++1z language features' is due? > > Well it should be a separate page really, since that page is about > C++14 not C++17. > > To enable the features just use the appropriate -std option, as > documented in the manual: > https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html Dear Jonathan, 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.) Regards, Jan.
diff -urN --exclude 'Entries*' wwwdocs-orig/htdocs/gcc-6/changes.html wwwdocs/htdocs/gcc-6/changes.html --- wwwdocs-orig/htdocs/gcc-6/changes.html 2015-08-13 00:25:44.009826451 +0200 +++ wwwdocs/htdocs/gcc-6/changes.html 2015-08-13 00:15:36.507550280 +0200 @@ -68,6 +68,8 @@ <h3 id="cxx">C++</h3> <ul> <li>The default mode has been changed to <code>-std=gnu++14</code>.</li> + <li> C++ concepts <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf"> + (N4377)</a> are now supported when c++1z code generation is requested.</li> </ul> <h3 id="fortran">Fortran</h3> diff -urN --exclude 'Entries*' wwwdocs-orig/htdocs/projects/cxx1y.html wwwdocs/htdocs/projects/cxx1y.html --- wwwdocs-orig/htdocs/projects/cxx1y.html 2015-08-13 00:25:44.010826466 +0200 +++ wwwdocs/htdocs/projects/cxx1y.html 2015-08-13 00:07:54.726496707 +0200 @@ -174,6 +174,13 @@ <a name="concepts"></a><h3>C++1z Concepts Branch</h3> +<p><strong>Update</strong>: Support for the +<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4377.pdf"> +C++ Concepts Technical Specification</a> +was merged into trunk at 6. August 2015 (revision r226713) and will +be available in gcc-6. Users of the concepts branch are urged to switch +to trunk instead.</p> + <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 @@ -183,6 +190,7 @@ 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> diff -urN --exclude 'Entries*' wwwdocs-orig/htdocs/projects/cxx1z.html wwwdocs/htdocs/projects/cxx1z.html --- wwwdocs-orig/htdocs/projects/cxx1z.html 1970-01-01 01:00:00.000000000 +0100 +++ wwwdocs/htdocs/projects/cxx1z.html 2015-08-13 00:09:21.561823268 +0200 @@ -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 upcoming revision of the C++ + standard, which is expected to be published in 2017. Until we are + sure of that, it will be referred to as C++1z.</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>. 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 under development, GCC's support is <strong>experimental</strong> + and features may disappear or change in incompatible ways as the standard + matures.</p> + +<h2>C++1z Language Features</h2> + + <p>The following table lists new language features that are part of + the C++1z standard. 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> + </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.2014">table</a> + </p--> + +</body> +</html> +