This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ PATCH] Renames/adjustments of 1z to 17
- From: Nathan Sidwell <nathan at acm dot org>
- To: Jakub Jelinek <jakub at redhat dot com>, Jason Merrill <jason at redhat dot com>, sandra at codesourcery dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 15 Sep 2017 13:07:14 -0400
- Subject: Re: [C++ PATCH] Renames/adjustments of 1z to 17
- Authentication-results: sourceware.org; auth=none
- References: <20170914202634.GO1701@tucnak>
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 <nathan@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}.