Update C++17 library status docs
authorJonathan Wakely <jwakely@redhat.com>
Wed, 28 Nov 2018 13:49:47 +0000 (13:49 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 28 Nov 2018 13:49:47 +0000 (13:49 +0000)
* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
* doc/html/*: Regenerate.

From-SVN: r266559

libstdc++-v3/ChangeLog
libstdc++-v3/doc/html/manual/configure.html
libstdc++-v3/doc/html/manual/memory.html
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/xml/manual/status_cxx2017.xml

index 748bb4ac29ee4c5741be311d0829cfcd1ed87627..f4705c2f764cd98cac0df3613baa9c206a731285 100644 (file)
@@ -1,3 +1,8 @@
+2018-11-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/status_cxx2017.xml: Update C++17 status.
+       * doc/html/*: Regenerate.
+
 2018-11-27  Jonathan Wakely  <jwakely@redhat.com>
 
        * testsuite/27_io/filesystem/operations/canonical.cc: Remove
index 31187ddb869c291316e1c74b333297a30a02cfd0..e3321d52ebc3f77dbc797f77180a42ed1a45cc9d 100644 (file)
      use <code class="option">OPTION=gcc4-compatible</code> to set it to
      <code class="literal">0</code>.
      This option does not change the library ABI.
-   </p></dd><dt><span class="term"><code class="code">--enable-vtable-verify</code>[default]</span></dt><dd><p>Use <code class="code">-fvtable-verify=std</code> to compile the C++
+   </p></dd><dt><span class="term"><code class="code">--with-libstdcxx-lock-policy=OPTION</code></span></dt><dd><p>Sets the lock policy that controls how
+        <code class="classname">shared_ptr</code> reference counting is
+        synchronized.
+        The choice OPTION=atomic enables use of atomics for updates to
+        <code class="classname">shared_ptr</code> reference counts.
+        The choice OPTION=mutex enables use of a mutex to synchronize updates
+        to <code class="classname">shared_ptr</code> reference counts.
+        If the compiler's thread model is "single" then this option has no
+        effect, as no synchronization is used for the reference counts.
+       The default is OPTION=auto, which checks for the availability of
+        compiler built-ins for 2-byte and 4-byte atomic compare-and-swap,
+        and uses OPTION=atomic if they're available, OPTION=mutex otherwise.
+        This option can change the library ABI.
+        If the library is configured to use atomics and user programs are
+        compiled using a target that doesn't natively support the atomic
+        operations (e.g. the library is configured for armv7 and then code
+        is compiled with <code class="option">-march=armv5t</code>) then the program
+        might rely on support in libgcc to provide the atomics.
+    </p></dd><dt><span class="term"><code class="code">--enable-vtable-verify</code>[default]</span></dt><dd><p>Use <code class="code">-fvtable-verify=std</code> to compile the C++
     runtime with instrumentation for vtable verification. All virtual
     functions in the standard library will be verified at runtime.
     Types impacted include <code class="classname">locale</code> and
index d95202cd1004ec59ea2ea111d3376c4393161e6d..7b160db60fe1d9286e2e667818542b2438b452e4 100644 (file)
       The Hoard Memory Allocator
        </a>
       </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="id-1.3.4.4.4.3.9.5"></a><p><span class="title"><em>
-       <a class="link" href="http://people.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
+       <a class="link" href="https://people.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
       Reconsidering Custom Memory Allocation
        </a>
       </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry"><a id="id-1.3.4.4.4.3.9.6"></a><p><span class="title"><em>
index aac3bab83fad921d4634e30e7710207b7a82ef9d..70901a6695c960c8f0eefd514fcdcf1fde0fa54a 100644 (file)
@@ -576,11 +576,11 @@ Feature-testing recommendations for C++</a>.
       </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__has_include(&lt;string_view&gt;)</code>,
               <code class="code">__cpp_lib_string_view &gt;= 201603</code>
               (since 7.3, see Note 1)
-      </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Library Fundamentals V1 TS Components: <code class="code">memory_resource</code> </td><td align="left">
+      </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">memory_resource</code> </td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top">
        P0220R1
        </a>
-      </td><td align="center"> No </td><td align="left"> <code class="code">__has_include(&lt;memory_resource&gt;)</code>,
+      </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__has_include(&lt;memory_resource&gt;)</code>,
               <code class="code">__cpp_lib_memory_resource &gt;= 201603</code>
       </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">apply</code> </td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top">
@@ -711,7 +711,7 @@ Feature-testing recommendations for C++</a>.
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0426r1.html" target="_top">
        P0426R1
        </a>
-      </td><td align="center"> 8 </td><td align="left"><code class="code"> __cpp_lib_constexpr_char_traits &gt;= 201611 </code></td></tr><tr><td align="left"> Integrating <code class="code">std::string_view</code> and <code class="code">std::string</code> </td><td align="left">
+      </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_constexpr_char_traits &gt;= 201611 </code></td></tr><tr><td align="left"> Integrating <code class="code">std::string_view</code> and <code class="code">std::string</code> </td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0254r2.pdf" target="_top">
        P0254R2
        </a>
@@ -784,22 +784,22 @@ Feature-testing recommendations for C++</a>.
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html" target="_top">
        P0218R1
        </a>
-      </td><td align="center"> 8 </td><td align="left"><code class="code"> __has_include(&lt;filesystem&gt;) </code>,
+      </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __has_include(&lt;filesystem&gt;) </code>,
             <code class="code"> __cpp_lib_filesystem &gt;= 201603 </code>
             (requires linking with <code class="code">-lstdc++fs</code>)
       </td></tr><tr><td align="left"> Relative Paths for Filesystem</td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0219r1.html" target="_top">
        P0219R1
        </a>
-      </td><td align="center"> 8 </td><td align="left"><code class="code"> __cpp_lib_filesystem &gt;= 201606 </code></td></tr><tr><td align="left"> Adapting string_view by filesystem paths </td><td align="left">
+      </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_filesystem &gt;= 201606 </code></td></tr><tr><td align="left"> Adapting string_view by filesystem paths </td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0392r0.pdf" target="_top">
        P0392R0
        </a>
-      </td><td align="center"> 8 </td><td align="left"><code class="code"> __cpp_lib_filesystem &gt;= 201606 </code></td></tr><tr><td align="left"> Directory Entry Caching for Filesystem </td><td align="left">
+      </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_filesystem &gt;= 201606 </code></td></tr><tr><td align="left"> Directory Entry Caching for Filesystem </td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0317r1.html" target="_top">
        P0317R1
        </a>
-      </td><td align="center"> 8 </td><td align="left"><code class="code"> __cpp_lib_filesystem &gt;= 201703 </code></td></tr><tr><td align="left"> constexpr <code class="code">atomic&lt;T&gt;::is_always_lock_free</code>    </td><td align="left">
+      </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_filesystem &gt;= 201703 </code></td></tr><tr><td align="left"> constexpr <code class="code">atomic&lt;T&gt;::is_always_lock_free</code>  </td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0152r1.html" target="_top">
        P0152R1
        </a>
@@ -820,7 +820,7 @@ Feature-testing recommendations for C++</a>.
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0067r5.html" target="_top">
        P0067R5
        </a>
-      </td><td align="center"> 8 (only integral types supported) </td><td align="left"><code class="code"> __has_include(&lt;charconv&gt;) </code>
+      </td><td align="center"> 8.1 (only integral types supported) </td><td align="left"><code class="code"> __has_include(&lt;charconv&gt;) </code>
              <code class="code"> __cpp_lib_to_chars &gt;= 201611 </code></td></tr></tbody></table></div></div><br class="table-break" /><p>
 Note 1: This feature is supported in GCC 7.1 and 7.2 but before GCC 7.3 the
 <code class="code">__cpp_lib</code> macro is not defined, and compilation will fail if the
@@ -874,7 +874,10 @@ and test for <code class="code">__STDCPP_MATH_SPEC_FUNCS__ &gt;= 201003L</code>.
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html" target="_top">
          N4521
        </a>
-      </td><td align="left"> Merge Fundamentals V1 into V2 </td><td align="left">N</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left">
+      </td><td align="left"> Merge Fundamentals V1 into V2 </td><td align="left">
+        N (components from V1 are still in namespace
+        <code class="code">fundamentals_v1</code>)
+      </td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left">
        <a class="link" href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0013r1.html" target="_top">
          P0013R1
        </a>
index a77653a3ab4b3c2428cf8c753cbf66cb88b2ac98..181dbe7a6ec54903d2a84f70118fe32540a028c0 100644 (file)
@@ -147,14 +147,13 @@ Feature-testing recommendations for C++</link>.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry> Library Fundamentals V1 TS Components: <code>memory_resource</code> </entry>
       <entry>
        <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html">
        P0220R1
        </link>
       </entry>
-      <entry align="center"> No </entry>
+      <entry align="center"> 9.1 </entry>
       <entry> <code>__has_include(&lt;memory_resource&gt;)</code>,
               <code>__cpp_lib_memory_resource >= 201603</code>
       </entry>
@@ -504,7 +503,7 @@ Feature-testing recommendations for C++</link>.
        P0426R1
        </link>
       </entry>
-      <entry align="center"> 8 </entry>
+      <entry align="center"> 8.1 </entry>
       <entry><code> __cpp_lib_constexpr_char_traits >= 201611 </code></entry>
     </row>
 
@@ -690,7 +689,7 @@ Feature-testing recommendations for C++</link>.
        P0218R1
        </link>
       </entry>
-      <entry align="center"> 8 </entry>
+      <entry align="center"> 8.1 </entry>
       <entry><code> __has_include(&lt;filesystem&gt;) </code>,
             <code> __cpp_lib_filesystem >= 201603 </code>
             (requires linking with <code>-lstdc++fs</code>)
@@ -704,7 +703,7 @@ Feature-testing recommendations for C++</link>.
        P0219R1
        </link>
       </entry>
-      <entry align="center"> 8 </entry>
+      <entry align="center"> 8.1 </entry>
       <entry><code> __cpp_lib_filesystem >= 201606 </code></entry>
     </row>
 
@@ -715,7 +714,7 @@ Feature-testing recommendations for C++</link>.
        P0392R0
        </link>
       </entry>
-      <entry align="center"> 8 </entry>
+      <entry align="center"> 8.1 </entry>
       <entry><code> __cpp_lib_filesystem >= 201606 </code></entry>
     </row>
 
@@ -726,7 +725,7 @@ Feature-testing recommendations for C++</link>.
        P0317R1
        </link>
       </entry>
-      <entry align="center"> 8 </entry>
+      <entry align="center"> 8.1 </entry>
       <entry><code> __cpp_lib_filesystem >= 201703 </code></entry>
      </row>
 
@@ -783,7 +782,7 @@ Feature-testing recommendations for C++</link>.
        P0067R5
        </link>
       </entry>
-      <entry align="center"> 8 (only integral types supported) </entry>
+      <entry align="center"> 8.1 (only integral types supported) </entry>
       <entry><code> __has_include(&lt;charconv&gt;) </code>
              <code> __cpp_lib_to_chars >= 201611 </code></entry>
     </row>
@@ -939,7 +938,10 @@ and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>.
        </link>
       </entry>
       <entry> Merge Fundamentals V1 into V2 </entry>
-      <entry>N</entry>
+      <entry>
+        N (components from V1 are still in namespace
+        <code>fundamentals_v1</code>)
+      </entry>
       <entry>Library Fundamentals 2 TS</entry>
     </row>