We don't currently have a single page where you can find out when support for a given standard became non-experimental (you have to look through all the gcc-X/changes.html pages to find it). I think we should have that info on the cxx-status.html page. This adds it for C++17, and we can do the same for C++20 when we declare that stable.
OK for wwwdocs? -- >8 -- Also link to library docs for C++20 and add a cxx2a anchor which is used by some old links. --- htdocs/projects/cxx-status.html | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html index b5362bba..7f59e5a2 100644 --- a/htdocs/projects/cxx-status.html +++ b/htdocs/projects/cxx-status.html @@ -402,10 +402,12 @@ --> </table> - <h2 id="cxx20">C++20 Support in GCC</h2> + <h2 id="cxx20"><a id="cxx2a">C++20 Support in GCC</h2> <p>GCC has experimental support for the latest revision of the C++ - standard, which was published in 2020.</p> + standard, which was published in 2020. + The status of C++20 library features is described in + <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2020">the library documentation</a>.</p> <p>C++20 features are available since GCC 8. To enable C++20 support, add the command-line parameter <code>-std=c++20</code> @@ -988,14 +990,16 @@ <p>GCC has almost full support for the previous revision of the C++ standard, which was published in 2017. - Some library features are missing or incomplete, as described in + The status of C++17 library features is described in <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2017">the library documentation</a>. </p> - <p>C++17 features are available since GCC 5. This mode is the default - in GCC 11; it can be explicitly selected with the <code>-std=c++17</code> - command-line flag, or <code>-std=gnu++17</code> to enable GNU extensions - as well.</p> + <p>C++17 mode is the default since GCC 11; it can be explicitly selected + with the <code>-std=c++17</code> command-line flag, or + <code>-std=gnu++17</code> to enable GNU extensions as well. + Some C++17 features are available since GCC 5, but support was experimental + and the ABI of C++17 features was not stable until GCC 9. + </p> <h2>C++17 Language Features</h2> @@ -1315,7 +1319,7 @@ <p>GCC has full support for the of the 2014 C++ standard.</p> - <p>This mode is the default in GCC 6.1 up until GCC 10 (including); it can + <p>This mode is the default in GCC 6.1 up until GCC 10 (inclusive); it can be explicitly selected with the <code>-std=c++14</code> command-line flag, or <code>-std=gnu++14</code> to enable GNU extensions as well.</p> -- 2.39.2