This updates the C++11 and C++14/TS status tables, and adds a new table for C++17 features.
Committed to trunk.
commit c95071e70eaa69a47ae49c99c8ddb8d20c2e9085 Author: Jonathan Wakely <jwak...@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><functional></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<T[]></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"><stdexcept></filename> use strings, they + <filename class="headerfile"><stdexcept></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.