+2019-07-26 Jonathan Wakely <jwakely@redhat.com>
+
+ Backport from mainline
+ 2019-05-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Add feature test macro for
+ P0040R3.
+ * doc/html/*: Regenerate.
+
2019-07-26 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
</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.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>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.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>
extra template parameter, even if it had a default value. The
available policies are:
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
- <code class="constant">_S_Atomic</code>
+ <code class="constant">_S_atomic</code>
</p><p>
Selected when GCC supports a builtin atomic compare-and-swap operation
on the target processor (see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html" target="_top">Atomic
algorithm and GCC's atomic builtins, which provide the required memory
synchronisation.
</p></li><li class="listitem"><p>
- <code class="constant">_S_Mutex</code>
+ <code class="constant">_S_mutex</code>
</p><p>
The _Sp_counted_base specialization for this policy contains a mutex,
which is locked in add_ref_lock(). This policy is used when GCC's atomic
builtins aren't available so explicit memory barriers are needed in places.
</p></li><li class="listitem"><p>
- <code class="constant">_S_Single</code>
+ <code class="constant">_S_single</code>
</p><p>
This policy uses a non-reentrant add_ref_lock() with no locking. It is
used when libstdc++ is built without <code class="literal">--enable-threads</code>.
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).
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0040r3.html" target="_top">
P0040R3
</a>
- </td><td align="center"> 7.1 </td><td align="left"><code class="code"> </code></td></tr><tr><td align="left"> <code class="code">shared_ptr::weak_type</code></td><td align="left">
+ </td><td align="center"> 7.1 </td><td align="left"><code class="code">__cpp_lib_raw_memory_algorithms >= 201606L</code></td></tr><tr><td align="left"> <code class="code">shared_ptr::weak_type</code></td><td align="left">
<a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0163r0.html" target="_top">
P0163R0
</a>
</link>
</entry>
<entry align="center"> 7.1 </entry>
- <entry><code> </code></entry>
+ <entry><code>__cpp_lib_raw_memory_algorithms >= 201606L</code></entry>
</row>
<row>