diff mbox

Update libstdc++ status docs, add C++17 status

Message ID 20150501110438.GA3618@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely May 1, 2015, 11:04 a.m. UTC
This updates the C++11 and C++14/TS status tables, and adds a new
table for C++17 features.

Committed to trunk.
diff mbox

Patch

commit c95071e70eaa69a47ae49c99c8ddb8d20c2e9085
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Apr 30 21:35:55 2015 +0100

    	* doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
    	* doc/xml/manual/status_cxx2011.xml: Update status tables.
    	* doc/xml/manual/status_cxx2014.xml: Likewise.
    	* doc/xml/manual/status_cxx2017.xml: New.
    	* doc/xml/manual/using.xml: Fix typo.
    	* doc/html/*: Regenerate.

diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml
index 2dd833d..b521089 100644
--- a/libstdc++-v3/doc/xml/manual/intro.xml
+++ b/libstdc++-v3/doc/xml/manual/intro.xml
@@ -33,11 +33,15 @@ 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2014.xml">
     </xi:include>
 
-    <!-- Section 01.4 : Status C++ TR1 -->
+    <!-- Section 01.4 : Status C++ 2017 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2017.xml">
+    </xi:include>
+
+    <!-- Section 01.5 : Status C++ TR1 -->
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr1.xml">
     </xi:include>
 
-    <!-- Section 01.5 : Status C++ TR24733 -->
+    <!-- Section 01.6 : Status C++ TR24733 -->
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr24733.xml">
     </xi:include>
   </section>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
index 965df13..2b99b9d 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
@@ -17,8 +17,8 @@  Final Draft International Standard, Standard for Programming Language C++
 </para>
 
 <para>
-In this implementation <literal>-std=gnu++11</literal> or
-<literal>-std=c++11</literal> flags must be used to enable language
+In this implementation the <literal>-std=gnu++11</literal> or
+<literal>-std=c++11</literal> flag must be used to enable language
 and library
 features. See <link linkend="manual.intro.using.flags">dialect</link>
 options. The pre-defined symbol
@@ -529,10 +529,9 @@  particular release.
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>20.6.4</entry>
       <entry>Pointer safety</entry>
-      <entry>Partial</entry>
+      <entry>Y</entry>
       <entry/>
     </row>
     <row>
@@ -642,10 +641,8 @@  particular release.
       <entry>Class template <code>shared_ptr</code></entry>
       <entry>Y</entry>
       <entry>
-	<para>
 	  Uses code from
 	  <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>.
-	</para>
       </entry>
     </row>
     <row>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml
index fc32995..d022ea4 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml
@@ -10,8 +10,8 @@ 
 </info>
 
 <para>
-In this implementation <literal>-std=gnu++1y</literal> or
-<literal>-std=c++1y</literal> flags must be used to enable language
+In this implementation the <literal>-std=gnu++14</literal> or
+<literal>-std=c++14</literal> flag must be used to enable language
 and library
 features. See <link linkend="manual.intro.using.flags">dialect</link>
 options. The pre-defined symbol
@@ -196,7 +196,7 @@  not in any particular release.
       </entry>
       <entry>Shared Locking in C++</entry>
       <entry>Y</entry>
-      <entry>Need tests</entry>
+      <entry/>
     </row>
 
 
@@ -395,14 +395,13 @@  not in any particular release.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8C8B0" ?>
       <entry>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm">
-	  N3940
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf">
+	  N4100
 	</link>
       </entry>
       <entry>File System</entry>
-      <entry>WIP</entry>
+      <entry>Y</entry>
       <entry></entry>
     </row>
 
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
new file mode 100644
index 0000000..b08e1b1
--- /dev/null
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
@@ -0,0 +1,251 @@ 
+<section xmlns="http://docbook.org/ns/docbook" version="5.0" 
+	 xml:id="status.iso.201z" xreflabel="Status C++ 201z">
+<?dbhtml filename="status_iso_cxx201z.html"?>
+
+<info><title>C++ 201z</title>
+  <keywordset>
+    <keyword>ISO C++</keyword>
+    <keyword>201z</keyword>
+  </keywordset>
+</info>
+
+<para>
+In this implementation the <literal>-std=gnu++1z</literal> or
+<literal>-std=c++1z</literal> flag must be used to enable language
+and library
+features. See <link linkend="manual.intro.using.flags">dialect</link>
+options. The pre-defined symbol
+<constant>__cplusplus</constant> is used to check for the
+presence of the required flag.
+</para>
+
+<para>
+This page describes the C++1z and library TS support in mainline GCC SVN,
+not in any particular release.
+</para>
+
+<table frame="all" xml:id="table.cxx1z_status">
+<title>C++ 201z Implementation Status</title>
+
+<tgroup cols="4" align="left" colsep="0" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+  <thead>
+    <row>
+      <entry>Paper</entry>
+      <entry>Title</entry>
+      <entry>Status</entry>
+      <entry>Comments</entry>
+    </row>
+  </thead>
+
+  <tbody>
+
+    <row>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n4259.pdf">
+	  N4259
+	</link>
+      </entry>
+      <entry>Wording for <code>std::uncaught_exceptions</code></entry>
+      <entry>Y</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm">
+	  N4190
+	</link>
+      </entry>
+      <entry>
+        Removing <code>auto_ptr</code>, <code>random_shuffle()</code>,
+        And Old <code>&lt;functional&gt;</code> Stuff
+      </entry>
+      <entry>N</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4284.htm">
+	  N4284
+	</link>
+      </entry>
+      <entry>Contiguous Iterators </entry>
+      <entry>Y</entry>
+      <entry>No code changes required</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4089.pdf">
+	  N4089
+	</link>
+      </entry>
+      <entry>Safe conversions in <code>unique_ptr&lt;T[]&gt;</code> </entry>
+      <entry>N</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4277.html">
+	  N4277
+	</link>
+      </entry>
+      <entry>TriviallyCopyable <code>reference_wrapper</code> </entry>
+      <entry>Y</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#B0B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4258.pdf">
+	  N4258
+	</link>
+      </entry>
+      <entry>Cleaning-up noexcept in the Library</entry>
+      <entry>Partial</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4279.pdf">
+	  N4279
+	</link>
+      </entry>
+      <entry>Improved insertion interface for unique-key maps</entry>
+      <entry>N</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n3911.pdf">
+	  N3911
+	</link>
+      </entry>
+      <entry>Transformation Trait Alias <code>void_t</code></entry>
+      <entry>Y</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4169.html">
+	  N4169
+	</link>
+      </entry>
+      <entry>A proposal to add invoke function template</entry>
+      <entry>N</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4280.pdf">
+	  N4280
+	</link>
+      </entry>
+      <entry>Non-member size() and more</entry>
+      <entry>N</entry>
+      <entry/>
+    </row>
+
+  </tbody>
+</tgroup>
+</table>
+
+
+<table frame="all" xml:id="table.ts_status">
+<title>C++ Technical Specifications Implementation Status</title>
+
+<tgroup cols="4" align="left" colsep="0" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+  <thead>
+    <row>
+      <entry>Paper</entry>
+      <entry>Title</entry>
+      <entry>Status</entry>
+      <entry>Comments</entry>
+    </row>
+  </thead>
+
+  <tbody>
+
+    <row>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4076.html">
+	  N4076
+	</link>
+      </entry>
+      <entry>A generalized callable negator</entry>
+      <entry>Y</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4273.htm">
+	  N4273
+	</link>
+      </entry>
+      <entry>Uniform Container Erasure</entry>
+      <entry>Y</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4061.pdf">
+	  N4061
+	</link>
+      </entry>
+      <entry>Greatest Common Divisor and Least Common Multiple</entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4257.html">
+	  N4257
+	</link>
+      </entry>
+      <entry>Delimited iterators</entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4282.pdf">
+	  N4282
+	</link>
+      </entry>
+      <entry>The World's Dumbest Smart Pointer</entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+  </tbody>
+</tgroup>
+</table>
+
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml
index 8b4af1a..34b4883 100644
--- a/libstdc++-v3/doc/xml/manual/using.xml
+++ b/libstdc++-v3/doc/xml/manual/using.xml
@@ -996,7 +996,7 @@  g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
 </para>
 
 <para> Although the standard exception types defined in
-  <filename clas="headerfile">&lt;stdexcept&gt;</filename> use strings, they
+  <filename class="headerfile">&lt;stdexcept&gt;</filename> use strings, they
   are not defined twice, so that a <classname>std::out_of_range</classname>
   exception thrown in one file can always be caught by a suitable handler in
   another file, even if the two files are compiled with different ABIs.