Update libstdc++ docs for library version bumps
authorJonathan Wakely <jwakely@redhat.com>
Mon, 2 Sep 2019 11:31:30 +0000 (12:31 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 2 Sep 2019 11:31:30 +0000 (12:31 +0100)
* doc/xml/manual/abi.xml: Document 9.x library versions.
* doc/html/*: Regenerate.

From-SVN: r275314

libstdc++-v3/ChangeLog
libstdc++-v3/doc/html/manual/abi.html
libstdc++-v3/doc/html/manual/configure.html
libstdc++-v3/doc/html/manual/documentation_hacking.html
libstdc++-v3/doc/html/manual/policy_data_structures.html
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/xml/manual/abi.xml

index 876e7ff49f6a810811e8d2bb5c39cbd940f27510..583e4a986b0fac3d796404cab55e340326ddc34b 100644 (file)
@@ -1,3 +1,8 @@
+2019-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/abi.xml: Document 9.x library versions.
+       * doc/html/*: Regenerate.
+
 2019-09-02  Jonathan Wakely  <jwakely@redhat.com>
 
        * include/std/charconv (__detail::__to_chars_2_len): Use std::log2p1.
index 2d6d8f6c98468f11373c90402f2f0646543dc252..96383c331123c933f05ec76a0ceb23c5e9ecf3fb 100644 (file)
@@ -110,7 +110,7 @@ compatible.
        has the same filename and <code class="constant">DT_SONAME</code> as the
        preceding release.
       </p><p>It is versioned as follows:
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>GCC 3.0.0: libstdc++.so.3.0.0</p></li><li class="listitem"><p>GCC 3.0.1: libstdc++.so.3.0.1</p></li><li class="listitem"><p>GCC 3.0.2: libstdc++.so.3.0.2</p></li><li class="listitem"><p>GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li class="listitem"><p>GCC 3.0.4: libstdc++.so.3.0.4</p></li><li class="listitem"><p>GCC 3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.1.1: libstdc++.so.4.0.1</p></li><li class="listitem"><p>GCC 3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.2.1: libstdc++.so.5.0.1</p></li><li class="listitem"><p>GCC 3.2.2: libstdc++.so.5.0.2</p></li><li class="listitem"><p>GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li class="listitem"><p>GCC 3.3.0: libstdc++.so.5.0.4</p></li><li class="listitem"><p>GCC 3.3.1: libstdc++.so.5.0.5</p></li><li class="listitem"><p>GCC 3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.4.1: libstdc++.so.6.0.1</p></li><li class="listitem"><p>GCC 3.4.2: libstdc++.so.6.0.2</p></li><li class="listitem"><p>GCC 3.4.3: libstdc++.so.6.0.3</p></li><li class="listitem"><p>GCC 4.0.0: libstdc++.so.6.0.4</p></li><li class="listitem"><p>GCC 4.0.1: libstdc++.so.6.0.5</p></li><li class="listitem"><p>GCC 4.0.2: libstdc++.so.6.0.6</p></li><li class="listitem"><p>GCC 4.0.3: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.0: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.1: libstdc++.so.6.0.8</p></li><li class="listitem"><p>GCC 4.2.0: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li class="listitem"><p>GCC 4.2.2: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.3.0: libstdc++.so.6.0.10</p></li><li class="listitem"><p>GCC 4.4.0: libstdc++.so.6.0.11</p></li><li class="listitem"><p>GCC 4.4.1: libstdc++.so.6.0.12</p></li><li class="listitem"><p>GCC 4.4.2: libstdc++.so.6.0.13</p></li><li class="listitem"><p>GCC 4.5.0: libstdc++.so.6.0.14</p></li><li class="listitem"><p>GCC 4.6.0: libstdc++.so.6.0.15</p></li><li class="listitem"><p>GCC 4.6.1: libstdc++.so.6.0.16</p></li><li class="listitem"><p>GCC 4.7.0: libstdc++.so.6.0.17</p></li><li class="listitem"><p>GCC 4.8.0: libstdc++.so.6.0.18</p></li><li class="listitem"><p>GCC 4.8.3: libstdc++.so.6.0.19</p></li><li class="listitem"><p>GCC 4.9.0: libstdc++.so.6.0.20</p></li><li class="listitem"><p>GCC 5.1.0: libstdc++.so.6.0.21</p></li><li class="listitem"><p>GCC 6.1.0: libstdc++.so.6.0.22</p></li><li class="listitem"><p>GCC 7.1.0: libstdc++.so.6.0.23</p></li><li class="listitem"><p>GCC 7.2.0: libstdc++.so.6.0.24</p></li><li class="listitem"><p>GCC 8.0.0: libstdc++.so.6.0.25</p></li><li class="listitem"><p>GCC 9.0.0: libstdc++.so.6.0.26</p></li></ul></div><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>GCC 3.0.0: libstdc++.so.3.0.0</p></li><li class="listitem"><p>GCC 3.0.1: libstdc++.so.3.0.1</p></li><li class="listitem"><p>GCC 3.0.2: libstdc++.so.3.0.2</p></li><li class="listitem"><p>GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li class="listitem"><p>GCC 3.0.4: libstdc++.so.3.0.4</p></li><li class="listitem"><p>GCC 3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.1.1: libstdc++.so.4.0.1</p></li><li class="listitem"><p>GCC 3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.2.1: libstdc++.so.5.0.1</p></li><li class="listitem"><p>GCC 3.2.2: libstdc++.so.5.0.2</p></li><li class="listitem"><p>GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li class="listitem"><p>GCC 3.3.0: libstdc++.so.5.0.4</p></li><li class="listitem"><p>GCC 3.3.1: libstdc++.so.5.0.5</p></li><li class="listitem"><p>GCC 3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.4.1: libstdc++.so.6.0.1</p></li><li class="listitem"><p>GCC 3.4.2: libstdc++.so.6.0.2</p></li><li class="listitem"><p>GCC 3.4.3: libstdc++.so.6.0.3</p></li><li class="listitem"><p>GCC 4.0.0: libstdc++.so.6.0.4</p></li><li class="listitem"><p>GCC 4.0.1: libstdc++.so.6.0.5</p></li><li class="listitem"><p>GCC 4.0.2: libstdc++.so.6.0.6</p></li><li class="listitem"><p>GCC 4.0.3: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.0: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.1: libstdc++.so.6.0.8</p></li><li class="listitem"><p>GCC 4.2.0: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li class="listitem"><p>GCC 4.2.2: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.3.0: libstdc++.so.6.0.10</p></li><li class="listitem"><p>GCC 4.4.0: libstdc++.so.6.0.11</p></li><li class="listitem"><p>GCC 4.4.1: libstdc++.so.6.0.12</p></li><li class="listitem"><p>GCC 4.4.2: libstdc++.so.6.0.13</p></li><li class="listitem"><p>GCC 4.5.0: libstdc++.so.6.0.14</p></li><li class="listitem"><p>GCC 4.6.0: libstdc++.so.6.0.15</p></li><li class="listitem"><p>GCC 4.6.1: libstdc++.so.6.0.16</p></li><li class="listitem"><p>GCC 4.7.0: libstdc++.so.6.0.17</p></li><li class="listitem"><p>GCC 4.8.0: libstdc++.so.6.0.18</p></li><li class="listitem"><p>GCC 4.8.3: libstdc++.so.6.0.19</p></li><li class="listitem"><p>GCC 4.9.0: libstdc++.so.6.0.20</p></li><li class="listitem"><p>GCC 5.1.0: libstdc++.so.6.0.21</p></li><li class="listitem"><p>GCC 6.1.0: libstdc++.so.6.0.22</p></li><li class="listitem"><p>GCC 7.1.0: libstdc++.so.6.0.23</p></li><li class="listitem"><p>GCC 7.2.0: libstdc++.so.6.0.24</p></li><li class="listitem"><p>GCC 8.0.0: libstdc++.so.6.0.25</p></li><li class="listitem"><p>GCC 9.1.0: libstdc++.so.6.0.26</p></li><li class="listitem"><p>GCC 9.2.0: libstdc++.so.6.0.27</p></li><li class="listitem"><p>GCC 9.3.0: libstdc++.so.6.0.28</p></li></ul></div><p>
       Note 1: Error should be libstdc++.so.3.0.3.
     </p><p>
       Note 2: Not strictly required.
index e3321d52ebc3f77dbc797f77180a42ed1a45cc9d..0d97beaf7b46ce4398ec106b0cc43b81e854db7e 100644 (file)
      </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time</code></span></dt><dd><p>This is an abbreviated form of
        <code class="code">'--enable-libstdcxx-time=yes'</code>(described next).
      </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time=OPTION</code></span></dt><dd><p>Enables link-type checks for the availability of the
-       clock_gettime clocks, used in the implementation of [time.clock],
-       and of the nanosleep and sched_yield functions, used in the
+       <code class="function">clock_gettime</code> clocks, used in the implementation
+       of [time.clock], and of the <code class="function">nanosleep</code> and
+       <code class="function">sched_yield</code> functions, used in the
        implementation of [thread.thread.this] of the 2011 ISO C++ standard.
        The choice OPTION=yes checks for the availability of the facilities
        in libc and libposix4.  In case it's needed the latter is also linked
-       to libstdc++ as part of the build process.  OPTION=rt also searches
-       (and, if needed, links) librt.   Note that the latter is not always
-       desirable because, in glibc, for example, in turn it triggers the
-       linking of libpthread too, which activates locking, a large overhead
-       for single-thread programs.  OPTION=no skips the tests completely.
+       to libstdc++ as part of the build process.  OPTION=rt also checks in
+       librt (and, if it's needed, links to it).  Note that linking to librt
+       is not always desirable because for glibc it requires linking to
+       libpthread too, which causes all reference counting to use atomic
+       operations, resulting in a potentially large overhead for
+       single-threaded programs.  OPTION=no skips the tests completely.
        The default is OPTION=auto, which skips the checks and enables the
        features only for targets known to support them.
+       For Linux targets, if <code class="function">clock_gettime</code> is not used
+       then the [time.clock] implementation will use a system call to access
+       the realtime and monotonic clocks, which is significantly slower than
+       the C library's <code class="function">clock_gettime</code> function.
     </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-debug</code></span></dt><dd><p>Build separate debug libraries in addition to what is normally built.
        By default, the debug libraries are compiled with
        <code class="code"> CXXFLAGS='-g3 -O0 -fno-inline'</code>
index fcd7f1e60c502a8cdf607590d106e40afaf1066d..6b4592c24a2d082579c21cc676a6a9cc1fb767b0 100644 (file)
       <span class="emphasis"><em>ps</em></span>, and <span class="emphasis"><em>dvi</em></span>.
     </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"></a>Doxygen</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="table.doxygen_prereq"></a><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table class="table" summary="Doxygen Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">coreutils</td><td align="center">8.5</td><td align="center">all</td></tr><tr><td align="center">bash</td><td align="center">4.1</td><td align="center">all</td></tr><tr><td align="center">doxygen</td><td align="center">1.7.6.1</td><td align="center">all</td></tr><tr><td align="center">graphviz</td><td align="center">2.26</td><td align="center">graphical hierarchies</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr></tbody></table></div></div><br class="table-break" /><p>
        Prerequisite tools are Bash 2.0 or later,
-       <a class="link" href="http://www.doxygen.org" target="_top">Doxygen</a>, and
+       <a class="link" href="http://www.doxygen.nl" target="_top">Doxygen</a>, and
        the <a class="link" href="http://www.gnu.org/software/coreutils/" target="_top">GNU
        coreutils</a>. (GNU versions of find, xargs, and possibly
        sed and grep are used, just because the GNU versions make
        make sure that the initial formatting is sound.
       </p><p>
        Adding Doxygen markup to a file (informally called
-       <span class="quote">“<span class="quote">doxygenating</span>”</span>) is very simple. The Doxygen manual can be
-       found
-       <a class="link" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman" target="_top">here</a>.
+       <span class="quote">“<span class="quote">doxygenating</span>”</span>) is very simple. See the
+       <a class="link" href="http://www.doxygen.nl/download.html#latestman" target="_top">Doxygen
+         manual</a> for details.
        We try to use a very-recent version of Doxygen.
       </p><p>
        For classes, use
        these member functions.
       </p><p>
        Some commentary to accompany
-       the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html" target="_top">Special
+       the first list in the <a class="link" href="http://www.doxygen.nl/manual/docblocks.html" target="_top">Special
        Documentation Blocks</a> section of the Doxygen manual:
       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>For longer comments, use the Javadoc style...</p></li><li class="listitem"><p>
            ...not the Qt style. The intermediate *'s are preferred.
index 02caac0d1d2cb96c8917cd5ec24dffc32439ae8a..8c6f090daa83c0c7df4e759f33ab70f3b2c73329 100644 (file)
            </span>. </span><span class="publisher"><span class="publishername">
          Cambridge University Press
        . </span></span></p></div><div class="biblioentry"><a id="biblio.mscom"></a><p>[biblio.mscom] <span class="title"><em>
-       <a class="link" href="https://docs.microsoft.com/en-us/windows/desktop/com/the-component-object-model" target="_top">
+       <a class="link" href="https://docs.microsoft.com/en-us/windows/win32/com/the-component-object-model" target="_top">
          COM: Component Model Object Technologies
        </a>
       </em>. </span><span class="publisher"><span class="publishername">
index 6e3b48f7ea61e16996ee50891664e1a8fe46d613..617d7d2bb38f59ac229888d5d8150dab3891ffb2 100644 (file)
@@ -545,8 +545,8 @@ presence of the required flag.
 This section describes the C++17 and library TS support in mainline GCC SVN,
 not in any particular release.
 </p><p>
-The following table lists new library features that have been accepted into
-the C++17 working draft. The "Proposal" column provides a link to the
+The following table lists new library features that are included in
+the C++17 standard. The "Proposal" column provides a link to the
 ISO C++ committee proposal that describes the feature, while the "Status"
 column indicates the first version of GCC that contains an implementation of
 this feature (if it has been implemented).
@@ -1053,11 +1053,11 @@ Feature-testing recommendations for C++</a>.
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html" target="_top">
        P0674R1
        </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Floating Point Atomic </td><td align="left">
+      </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left">  Floating Point Atomic </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html" target="_top">
        P0020R6
        </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  C++ Synchronized Buffered Ostream </td><td align="left">
+      </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  C++ Synchronized Buffered Ostream </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0053r7.pdf" target="_top">
        P0053R7
        </a>
@@ -1145,11 +1145,11 @@ Feature-testing recommendations for C++</a>.
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0966r1.html" target="_top">
        P0966R1
        </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Atomic Ref </td><td align="left">
+      </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left">  Atomic Ref </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0019r8.html" target="_top">
        P0019R8
        </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left">  Checking for Existence of an Element in Associative Containers </td><td align="left">
+      </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_ref &gt;= 201806L</code> </td></tr><tr><td align="left">  Checking for Existence of an Element in Associative Containers </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0458r2.html" target="_top">
        P0458R2
        </a>
index d1e6b989a71880b7c4446be2a37cba0ba377b371..969edd7c834136e996008aaa3d1c6f31c4e4768c 100644 (file)
@@ -268,7 +268,9 @@ compatible.
     <listitem><para>GCC 7.1.0: libstdc++.so.6.0.23</para></listitem>
     <listitem><para>GCC 7.2.0: libstdc++.so.6.0.24</para></listitem>
     <listitem><para>GCC 8.0.0: libstdc++.so.6.0.25</para></listitem>
-    <listitem><para>GCC 9.0.0: libstdc++.so.6.0.26</para></listitem>
+    <listitem><para>GCC 9.1.0: libstdc++.so.6.0.26</para></listitem>
+    <listitem><para>GCC 9.2.0: libstdc++.so.6.0.27</para></listitem>
+    <listitem><para>GCC 9.3.0: libstdc++.so.6.0.28</para></listitem>
     </itemizedlist>
     <para>
       Note 1: Error should be libstdc++.so.3.0.3.