On 09/14/2017 04:26 PM, Jakub Jelinek wrote:
There is one 1z spot in gcc/doc/standards.texi, but that whole paragraph looks wrong, can somebody please rewrite it to match the reality?
This patch addresses that paragraph. I've rewritten it using the c++11 and C++14 examples and removed any reference to concepts there. I noticed the URLS don't point anywhere useful, so updated them. The web page still uses cxx1z as the tag, so I left that.
ok? nathan -- Nathan Sidwell
2017-09-15 Nathan Sidwell <nat...@acm.org> * doc/standards.texi: Fix C++17 description. Update URLs for C++11 & 14. Index: doc/standards.texi =================================================================== --- doc/standards.texi (revision 252076) +++ doc/standards.texi (working copy) @@ -196,24 +196,22 @@ A revised ISO C++ standard was published 14882:2011, and is referred to as C++11; before its publication it was commonly referred to as C++0x. C++11 contains several changes to the C++ language, all of which have been implemented in GCC@. For details -see @uref{https://gcc.gnu.org/projects/@/cxx0x.html}. +see @uref{https://gcc.gnu.org/projects/@/cxx-status.html#cxx11}. To select this standard in GCC, use the option @option{-std=c++11}. Another revised ISO C++ standard was published in 2014 as ISO/IEC 14882:2014, and is referred to as C++14; before its publication it was sometimes referred to as C++1y. C++14 contains several further changes to the C++ language, all of which have been implemented in GCC@. -For details see @uref{https://gcc.gnu.org/projects/@/cxx1y.html}. +For details see @uref{https://gcc.gnu.org/projects/@/cxx-status.html#cxx14}. To select this standard in GCC, use the option @option{-std=c++14}. -GCC also supports the C++ Concepts Technical Specification, -ISO/IEC TS 19217:2015, which allows constraints to be defined for templates, -allowing template arguments to be checked and for templates to be -overloaded or specialized based on the constraints. Support for C++ Concepts -is included in an experimental C++1z mode that corresponds to the next -revision of the ISO C++ standard, expected to be published in 2017. To enable -C++1z support in GCC, use the option @option{-std=c++17} or -@option{-std=c++1z}. +The C++ language was further revised in 2017 as ISO/IEC 14882:2017 was +published. This is referred to as C++17, and before publication was +often referred to as C++1z. GCC supports all the changes in the new +specification. For further details see +@uref{https://gcc.gnu.org/projects/@/cxx-status.html#cxx1z}. Use the option +@option{-std=c++17} to select this variant of C++. More information about the C++ standards is available on the ISO C++ committee's web site at @uref{http://www.open-std.org/@/jtc1/@/sc22/@/wg21/}. @@ -232,7 +230,7 @@ select an extended version of the C++ la @option{-std=gnu++98} (for C++98 with GNU extensions), or @option{-std=gnu++11} (for C++11 with GNU extensions), or @option{-std=gnu++14} (for C++14 with GNU extensions), or -@option{-std=gnu++1z} (for C++1z with GNU extensions). +@option{-std=gnu++17} (for C++17 with GNU extensions). The default, if no C++ language dialect options are given, is @option{-std=gnu++14}.