Update C++17 library status docs

* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
	* doc/html/*: Regenerate.

From-SVN: r266559
This commit is contained in:
Jonathan Wakely 2018-11-28 13:49:47 +00:00 committed by Jonathan Wakely
parent a257ad4668
commit 5916922e34
5 changed files with 48 additions and 20 deletions

View 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> 2018-11-27 Jonathan Wakely <jwakely@redhat.com>
* testsuite/27_io/filesystem/operations/canonical.cc: Remove * testsuite/27_io/filesystem/operations/canonical.cc: Remove

View File

@ -238,7 +238,25 @@
use <code class="option">OPTION=gcc4-compatible</code> to set it to use <code class="option">OPTION=gcc4-compatible</code> to set it to
<code class="literal">0</code>. <code class="literal">0</code>.
This option does not change the library ABI. 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 runtime with instrumentation for vtable verification. All virtual
functions in the standard library will be verified at runtime. functions in the standard library will be verified at runtime.
Types impacted include <code class="classname">locale</code> and Types impacted include <code class="classname">locale</code> and

View File

@ -324,7 +324,7 @@
The Hoard Memory Allocator The Hoard Memory Allocator
</a> </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> </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 Reconsidering Custom Memory Allocation
</a> </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> </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>

View 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>, </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> <code class="code">__cpp_lib_string_view &gt;= 201603</code>
(since 7.3, see Note 1) (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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top">
P0220R1 P0220R1
</a> </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> <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"> </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"> <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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0426r1.html" target="_top">
P0426R1 P0426R1
</a> </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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0254r2.pdf" target="_top">
P0254R2 P0254R2
</a> </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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html" target="_top">
P0218R1 P0218R1
</a> </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> <code class="code"> __cpp_lib_filesystem &gt;= 201603 </code>
(requires linking with <code class="code">-lstdc++fs</code>) (requires linking with <code class="code">-lstdc++fs</code>)
</td></tr><tr><td align="left"> Relative Paths for Filesystem</td><td align="left"> </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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0219r1.html" target="_top">
P0219R1 P0219R1
</a> </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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0392r0.pdf" target="_top">
P0392R0 P0392R0
</a> </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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0317r1.html" target="_top">
P0317R1 P0317R1
</a> </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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0152r1.html" target="_top">
P0152R1 P0152R1
</a> </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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0067r5.html" target="_top">
P0067R5 P0067R5
</a> </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> <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 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 <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"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html" target="_top">
N4521 N4521
</a> </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"> <a class="link" href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0013r1.html" target="_top">
P0013R1 P0013R1
</a> </a>

View File

@ -147,14 +147,13 @@ Feature-testing recommendations for C++</link>.
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry> Library Fundamentals V1 TS Components: <code>memory_resource</code> </entry> <entry> Library Fundamentals V1 TS Components: <code>memory_resource</code> </entry>
<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"> <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 P0220R1
</link> </link>
</entry> </entry>
<entry align="center"> No </entry> <entry align="center"> 9.1 </entry>
<entry> <code>__has_include(&lt;memory_resource&gt;)</code>, <entry> <code>__has_include(&lt;memory_resource&gt;)</code>,
<code>__cpp_lib_memory_resource >= 201603</code> <code>__cpp_lib_memory_resource >= 201603</code>
</entry> </entry>
@ -504,7 +503,7 @@ Feature-testing recommendations for C++</link>.
P0426R1 P0426R1
</link> </link>
</entry> </entry>
<entry align="center"> 8 </entry> <entry align="center"> 8.1 </entry>
<entry><code> __cpp_lib_constexpr_char_traits >= 201611 </code></entry> <entry><code> __cpp_lib_constexpr_char_traits >= 201611 </code></entry>
</row> </row>
@ -690,7 +689,7 @@ Feature-testing recommendations for C++</link>.
P0218R1 P0218R1
</link> </link>
</entry> </entry>
<entry align="center"> 8 </entry> <entry align="center"> 8.1 </entry>
<entry><code> __has_include(&lt;filesystem&gt;) </code>, <entry><code> __has_include(&lt;filesystem&gt;) </code>,
<code> __cpp_lib_filesystem >= 201603 </code> <code> __cpp_lib_filesystem >= 201603 </code>
(requires linking with <code>-lstdc++fs</code>) (requires linking with <code>-lstdc++fs</code>)
@ -704,7 +703,7 @@ Feature-testing recommendations for C++</link>.
P0219R1 P0219R1
</link> </link>
</entry> </entry>
<entry align="center"> 8 </entry> <entry align="center"> 8.1 </entry>
<entry><code> __cpp_lib_filesystem >= 201606 </code></entry> <entry><code> __cpp_lib_filesystem >= 201606 </code></entry>
</row> </row>
@ -715,7 +714,7 @@ Feature-testing recommendations for C++</link>.
P0392R0 P0392R0
</link> </link>
</entry> </entry>
<entry align="center"> 8 </entry> <entry align="center"> 8.1 </entry>
<entry><code> __cpp_lib_filesystem >= 201606 </code></entry> <entry><code> __cpp_lib_filesystem >= 201606 </code></entry>
</row> </row>
@ -726,7 +725,7 @@ Feature-testing recommendations for C++</link>.
P0317R1 P0317R1
</link> </link>
</entry> </entry>
<entry align="center"> 8 </entry> <entry align="center"> 8.1 </entry>
<entry><code> __cpp_lib_filesystem >= 201703 </code></entry> <entry><code> __cpp_lib_filesystem >= 201703 </code></entry>
</row> </row>
@ -783,7 +782,7 @@ Feature-testing recommendations for C++</link>.
P0067R5 P0067R5
</link> </link>
</entry> </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> <entry><code> __has_include(&lt;charconv&gt;) </code>
<code> __cpp_lib_to_chars >= 201611 </code></entry> <code> __cpp_lib_to_chars >= 201611 </code></entry>
</row> </row>
@ -939,7 +938,10 @@ and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>.
</link> </link>
</entry> </entry>
<entry> Merge Fundamentals V1 into V2 </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> <entry>Library Fundamentals 2 TS</entry>
</row> </row>