libstdc++: Improve C++14 and C++17 status docs

This adds a full table of contents for the C++14 and C++17 standards,
with status for each part.

For C++14 the list of proposals is removed, as it adds little value now
that everything is supported. For C++17 the table of proposals is
retained, because it documents he feature test macros for the features.

	* doc/Makefile.am (xml_sources_manual): Add missing XML files.
	* doc/Makefile.in: Regenerate.
	* doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead
	of "this page".
	* doc/xml/manual/status_cxx2011.xml: Formatting and other corrections
	to the C++11 status table.
	* doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature
	proposals with table matching contents of the C++14 standard.
	* doc/xml/manual/status_cxx2017.xml: Add table matching contents of
	the C++17 standard.
	* doc/html/*: Regenerate.
This commit is contained in:
Jonathan Wakely 2020-04-21 22:18:51 +01:00
parent d76925e46f
commit 57ede05c6a
9 changed files with 3564 additions and 320 deletions

View File

@ -1,5 +1,17 @@
2020-04-21 Jonathan Wakely <jwakely@redhat.com>
* doc/Makefile.am (xml_sources_manual): Add missing XML files.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead
of "this page".
* doc/xml/manual/status_cxx2011.xml: Formatting and other corrections
to the C++11 status table.
* doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature
proposals with table matching contents of the C++14 standard.
* doc/xml/manual/status_cxx2017.xml: Add table matching contents of
the C++17 standard.
* doc/html/*: Regenerate.
PR c++/94149
* include/std/type_traits (__is_nt_constructible_impl): Add partial
specializations for bounded arrays with non-empty initializers.

View File

@ -341,6 +341,8 @@ xml_sources_manual = \
${xml_dir}/manual/status_cxx1998.xml \
${xml_dir}/manual/status_cxx2011.xml \
${xml_dir}/manual/status_cxx2014.xml \
${xml_dir}/manual/status_cxx2017.xml \
${xml_dir}/manual/status_cxx2020.xml \
${xml_dir}/manual/status_cxxtr1.xml \
${xml_dir}/manual/status_cxxtr24733.xml \
${xml_dir}/manual/strings.xml \

View File

@ -483,6 +483,8 @@ xml_sources_manual = \
${xml_dir}/manual/status_cxx1998.xml \
${xml_dir}/manual/status_cxx2011.xml \
${xml_dir}/manual/status_cxx2014.xml \
${xml_dir}/manual/status_cxx2017.xml \
${xml_dir}/manual/status_cxx2020.xml \
${xml_dir}/manual/status_cxxtr1.xml \
${xml_dir}/manual/status_cxxtr24733.xml \
${xml_dir}/manual/strings.xml \

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
xml:id="status.iso.1998" xreflabel="ISO C++ 1998">
<?dbhtml filename="status_iso_cxx1998.html"?>
@ -11,14 +11,14 @@
<section xml:id="iso.1998.status" xreflabel="Implementation Status">
<info><title>Implementation Status</title></info>
<info><title>Implementation Status</title></info>
<para>
This status table is based on the table of contents of ISO/IEC 14882:2003.
</para>
<para>
This page describes the C++ support in mainline GCC, not in any
This section describes the C++ support in mainline GCC, not in any
particular release.
</para>
@ -1030,7 +1030,7 @@ particular release.
</section>
<section xml:id="iso.1998.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
<para>
The ISO standard defines the following phrase:

View File

@ -1,4 +1,4 @@
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
xml:id="status.iso.2011" xreflabel="Status C++ 2011">
<?dbhtml filename="status_iso_cxx2011.html"?>
@ -27,7 +27,11 @@ presence of the required flag.
</para>
<para>
This page describes the C++11 support in mainline GCC, not in any
This status table is based on the table of contents of ISO/IEC 14882:2011.
</para>
<para>
This section describes the C++11 support in mainline GCC, not in any
particular release.
</para>
@ -71,7 +75,7 @@ particular release.
<row>
<entry>18.1</entry>
<entry>General</entry>
<entry>Y</entry>
<entry/>
<entry/>
</row>
<row>
@ -265,7 +269,7 @@ particular release.
<row>
<entry>19.1</entry>
<entry>General</entry>
<entry>Y</entry>
<entry/>
<entry/>
</row>
<row>
@ -350,13 +354,13 @@ particular release.
</row>
<row>
<entry>20.2.2</entry>
<entry>Swap</entry>
<entry>swap</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>20.2.3</entry>
<entry><code>forward</code> and <code>move</code> helpers</entry>
<entry>forward/move helpers</entry>
<entry>Y</entry>
<entry/>
</row>
@ -627,7 +631,7 @@ particular release.
<row>
<entry>20.7.2</entry>
<entry>Shared-ownership pointers</entry>
<entry>Y</entry>
<entry/>
<entry/>
</row>
<row>
@ -653,7 +657,7 @@ particular release.
</row>
<row>
<entry>20.7.2.4</entry>
<entry>Class template <code>emable_shared_from_this</code></entry>
<entry>Class template <code>enable_shared_from_this</code></entry>
<entry>Y</entry>
<entry/>
</row>
@ -1115,9 +1119,7 @@ particular release.
<entry>21.7</entry>
<entry>Null-terminated sequence utilities</entry>
<entry>Partial</entry>
<entry>C library dependency.
Missing <filename class="headerfile">&lt;cuchar&gt;</filename>
</entry>
<entry>C library dependency. </entry>
</row>
<row>
<entry>
@ -1636,7 +1638,7 @@ particular release.
<row>
<entry>26.1</entry>
<entry>General</entry>
<entry>Y</entry>
<entry/>
<entry/>
</row>
<row>
@ -1989,31 +1991,31 @@ particular release.
</row>
<row>
<entry>26.7.2</entry>
<entry><code>accumulate</code></entry>
<entry>Accumulate></entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.3</entry>
<entry><code>inner_product</code></entry>
<entry>Inner product</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.4</entry>
<entry><code>partial_sum</code></entry>
<entry>Partial sum</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.5</entry>
<entry><code>adjacent_difference</code></entry>
<entry>Adjacent difference</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>26.7.6</entry>
<entry>iota</entry>
<entry>Iota</entry>
<entry>Y</entry>
<entry/>
</row>
@ -2231,10 +2233,9 @@ particular release.
<entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>29.3</entry>
<entry>Order and consistency</entry>
<entry>Partial</entry>
<entry>Y</entry>
<entry/>
</row>
<row>
@ -2397,10 +2398,14 @@ particular release.
<entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>30.4.4.2</entry>
<entry>Function <code>call_once</code></entry>
<entry>Y</entry>
<entry/>
<entry>Broken</entry>
<entry>See <link xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146">PR
66146</link>
</entry>
</row>
<row>
<entry>30.5</entry>
@ -2515,43 +2520,43 @@ particular release.
<row>
<entry>D.5</entry>
<entry>C standard library headers</entry>
<entry/>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.6</entry>
<entry>Old iostreams members</entry>
<entry/>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.7</entry>
<entry><code>char*</code> streams</entry>
<entry/>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.8</entry>
<entry>Function objects</entry>
<entry/>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.9</entry>
<entry>Binders</entry>
<entry/>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.10</entry>
<entry><code>auto_ptr</code></entry>
<entry/>
<entry>Y</entry>
<entry/>
</row>
<row>
<entry>D.11</entry>
<entry>Violating exception-specifications</entry>
<entry/>
<entry>Y</entry>
<entry/>
</row>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff