Update libstdc++ documentation for implementation status
authorJonathan Wakely <jwakely@redhat.com>
Thu, 14 Feb 2019 15:12:57 +0000 (15:12 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 14 Feb 2019 15:12:57 +0000 (15:12 +0000)
* doc/xml/manual/status_cxx2017.xml: Add P0063R3 to status table.
* doc/html/*: Regenerate.

From-SVN: r268883

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

index 4790afba1e721134e61c22ece887f71fe43ddcd4..bee73caca57b87d39a891b94a3c5cebd2fd44e4c 100644 (file)
@@ -1,5 +1,8 @@
 2019-02-14  Jonathan Wakely  <jwakely@redhat.com>
 
+       * doc/xml/manual/status_cxx2017.xml: Add P0063R3 to status table.
+       * doc/html/*: Regenerate.
+
        * doc/xml/manual/intro.xml: Document LWG 2586 status.
        * include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
        allocator type in is_constructible checks.
index 9d6651010b95ffc7e9de6d66b4f0de7c50c29498..208ec296743c5f2b361809b17389fe327a001280 100644 (file)
        </em></span>
     </span></dt><dd><p>Avoid using <code class="code">dynamic_cast</code> when it would be
     ill-formed.
+    </p></dd><dt><a id="manual.bugs.dr2537"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2537" target="_top">2537</a>:
+       <span class="emphasis"><em>Requirements on the first template parameter of container adaptors
+       </em></span>
+    </span></dt><dd><p>Add static assertions to enforce the requirement.
+    </p></dd><dt><a id="manual.bugs.dr2566"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2566" target="_top">2566</a>:
+       <span class="emphasis"><em>Constructors for <code class="code">priority_queue</code> taking allocators
+        should call <code class="code">make_heap</code>
+       </em></span>
+    </span></dt><dd><p>Call <code class="code">make_heap</code>.
     </p></dd><dt><a id="manual.bugs.dr2583"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2583" target="_top">2583</a>:
        <span class="emphasis"><em>There is no way to supply an allocator for <code class="code">basic_string(str, pos)</code>
        </em></span>
-    </span></dt><dd><p>Add new constructor
+    </span></dt><dd><p>Add new constructor.
+    </p></dd><dt><a id="manual.bugs.dr2586"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2586" target="_top">2586</a>:
+       <span class="emphasis"><em>Wrong value category used in <code class="code">scoped_allocator_adaptor::construct()</code>
+       </em></span>
+    </span></dt><dd><p>Change internal helper for uses-allocator construction
+      to always check using const lvalue allocators.
     </p></dd><dt><a id="manual.bugs.dr2684"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2684" target="_top">2684</a>:
        <span class="emphasis"><em><code class="code">priority_queue</code> lacking comparator typedef
        </em></span>
     </span></dt><dd><p>Define the <code class="code">value_compare</code> typedef.
+    </p></dd><dt><a id="manual.bugs.dr2735"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2735" target="_top">2735</a>:
+       <span class="emphasis"><em><code class="code">std::abs(short)</code>,
+        <code class="code">std::abs(signed char)</code> and others should return
+        <code class="code">int</code> instead of <code class="code">double</code> in order to be
+        compatible with C++98 and C
+       </em></span>
+    </span></dt><dd><p>Resolved by the changes for
+      <a class="link" href="bugs.html#manual.bugs.dr2192">2192</a>.
     </p></dd><dt><a id="manual.bugs.dr2770"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2770" target="_top">2770</a>:
        <span class="emphasis"><em><code class="code">tuple_size&lt;const T&gt;</code> specialization is not
         SFINAE compatible and breaks decomposition declarations
index 12853f7a915c34c7c0d69d13ff226f6b14a0c98b..d66f901f1aa818c9130c81b40f02b40917dea41b 100644 (file)
@@ -548,7 +548,11 @@ Feature-testing recommendations for C++</a>.
        <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n4259.pdf" target="_top">
          N4259
        </a>
-      </td><td align="center">6.1</td><td align="left"><code class="code">__cpp_lib_uncaught_exceptions &gt;= 201411</code></td></tr><tr><td align="left"> Variant: a type-safe union for C++17 </td><td align="left">
+      </td><td align="center">6.1</td><td align="left"><code class="code">__cpp_lib_uncaught_exceptions &gt;= 201411</code></td></tr><tr><td align="left"> C++17 should refer to C11 instead of C99 </td><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0063r3.html" target="_top">
+       P0063R3
+       </a>
+      </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> Variant: a type-safe union for C++17 </td><td align="left">
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0088r3.html" target="_top">
        P0088R3
        </a>
@@ -821,7 +825,19 @@ Feature-testing recommendations for C++</a>.
        P0067R5
        </a>
       </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>
+             <code class="code"> __cpp_lib_to_chars &gt;= 201611 </code></td></tr><tr><td align="left"> Homogeneous interface for variant, any and optional </td><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0032r3.pdf" target="_top">
+       P0032R3
+       </a>
+      </td><td align="center"> 7.1  </td><td align="left">
+             <code class="code"> __cpp_lib_any &gt;= 201606 </code>,
+             <code class="code"> __cpp_lib_optional &gt;= 201606 </code>,
+             <code class="code"> __cpp_lib_variant &gt;= 201606 </code>
+      </td></tr><tr><td align="left"> Making Optional Greater Equal Again </td><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0307r2.pdf" target="_top">
+       P0307R2
+       </a>
+      </td><td align="center"> 7.1  </td><td align="left"> <code class="code"> __cpp_lib_optional &gt;= 201606 </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
 header is included without using <code class="option">-std</code> to enable C++17 support.
@@ -1037,11 +1053,11 @@ Feature-testing recommendations for C++</a>.
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0550r2.pdf" target="_top">
        P0550R2
        </a>
-      </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  <code class="code">nodiscard</code> in the Library </td><td align="left">
+      </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left">  <code class="code">nodiscard</code> in the Library </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0600r1.pdf" target="_top">
        P0600R1
        </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  de-pessimize legacy algorithms with <code class="code">std::move</code> </td><td align="left">
+      </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  de-pessimize legacy algorithms with <code class="code">std::move</code> </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0616r0.pdf" target="_top">
        P0616R0
        </a>
@@ -1273,11 +1289,11 @@ Feature-testing recommendations for C++</a>.
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1085r2.md" target="_top">
        P1085R2
        </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Editorial Guidance for merging P0019r8 and P0528r3 </td><td align="left">
+      </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left">  Editorial Guidance for merging P0019r8 and P0528r3 </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1123r0.html" target="_top">
        P1123R0
        </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Cleaning up Clause 20 </td><td align="left">
+      </td><td align="center"> Note 1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">  Cleaning up Clause 20 </td><td align="left">
         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1148r0.pdf" target="_top">
        P1148R0
        </a>
index c9913a9e3a72a399b1f92b5c5afb025d14a43edb..bb82e34bba7c8f2698392e5a2585f2021b84dbe8 100644 (file)
@@ -90,6 +90,17 @@ Feature-testing recommendations for C++</link>.
       <entry><code>__cpp_lib_uncaught_exceptions >= 201411</code></entry>
     </row>
 
+    <row>
+      <entry> C++17 should refer to C11 instead of C99 </entry>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0063r3.html">
+       P0063R3
+       </link>
+      </entry>
+      <entry align="center"> 9.1 </entry>
+      <entry/>
+    </row>
+
     <row>
       <entry> Variant: a type-safe union for C++17 </entry>
       <entry>