aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorTomasz Kamiński <tkaminsk@redhat.com>2025-09-05 16:08:12 +0200
committerTomasz Kamiński <tkaminsk@redhat.com>2025-09-05 16:54:10 +0200
commit39d7c4d42a764a86644198a517f58a94f467cdbd (patch)
treec3cc9ecea3be0ca93b252045381199dc4fdc620d /libstdc++-v3
parent052c1d8284b1eb16474473b341fd83f99e8664c8 (diff)
downloadgcc-39d7c4d42a764a86644198a517f58a94f467cdbd.zip
gcc-39d7c4d42a764a86644198a517f58a94f467cdbd.tar.gz
gcc-39d7c4d42a764a86644198a517f58a94f467cdbd.tar.bz2
libstdc++: Document remaining C++17 implementation-defined behavior.
This also covers bad_function_call::what from C++11. libstdc++-v3/ChangeLog: * doc/html/manual/status.html: Regenerate. * doc/xml/manual/status_cxx2011.xml: Add entry for bad_function_call. * doc/xml/manual/status_cxx2017.xml: Add entries for bad_any_cast and nullptr_t output. Update entry for sf.cmath. Fix stable name for mem.res. Reviewed-by: Jonathan Wakely <jwakely@redhat.com> Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/doc/html/manual/status.html18
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx2011.xml5
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx2017.xml19
3 files changed, 34 insertions, 8 deletions
diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html
index e1ed5bd..564679b 100644
--- a/libstdc++-v3/doc/html/manual/status.html
+++ b/libstdc++-v3/doc/html/manual/status.html
@@ -260,6 +260,9 @@ mainline GCC, not in any particular release.
<span class="emphasis"><em>20.7.2.0 [util.smartptr.weakptr]</em></span>
<code class="code">what()</code> returns <code class="literal">"bad_weak_ptr"</code>.
</p><p>
+ <span class="emphasis"><em>20.8.11.1 [func.wrap.badcall]</em></span>
+ <code class="code">what()</code> returns <code class="literal">"bad_function_call"</code>.
+ </p><p>
<span class="emphasis"><em>20.8.9.1.3 [func.bind.place]/1</em></span> There are 29
placeholders defined and the placeholder types are
<code class="literal">CopyAssignable</code>.
@@ -1074,7 +1077,11 @@ since C++14 and the implementation is complete.
<code class="literal">"std::visit: variant is valueless"</code>,
or <code class="literal">"std::visit&lt;R&gt;: variant is valueless"</code>.
</p><p>
- <span class="emphasis"><em>23.12.5.2 [memory.resource.pool.options]</em></span>
+ <span class="emphasis"><em>23.8.2 [any.bad_any_cast]</em></span>
+ <code class="code">what()</code> returns <code class="literal">"bad any_cast"</code>.
+ </p><p>
+ <span class="emphasis"><em>23.12.5 [mem.res.pool.options]</em></span>,
+ <span class="emphasis"><em>23.12.5 [mem.res.pool.mem]</em></span>
Let S equal <code class="code">numeric_limits&lt;size_t&gt;::digits</code>.
The limit for maximum number of blocks in a chunk is given by
<span class="mathphrase">2<sup>N</sup>-1</span>,
@@ -1085,7 +1092,7 @@ since C++14 and the implementation is complete.
otherwise 3072 when <span class="mathphrase">S &gt; 16</span>,
otherwise 768.
</p><p>
- <span class="emphasis"><em>23.12.6.1 [memory.resource.monotonic.buffer.ctor]</em></span>
+ <span class="emphasis"><em>23.12.6.1 [mem.res.monotonic.buffer.ctor]</em></span>
The default <code class="code">next_buffer_size</code> is <code class="code">128 * sizeof(void*)</code>.
The default growth factor is <code class="code">1.5</code>.
</p><p>
@@ -1120,8 +1127,11 @@ since C++14 and the implementation is complete.
races depends on the target C library that provides the function.
</p><p>
<span class="emphasis"><em>29.9.5 [sf.cmath]</em></span>
- The effect of calling the mathematical special functions with large
- inputs should be documented here.
+ Calling the mathematical special functions with large inputs is supported
+ but the results may be imprecise.
+ </p><p>
+ <span class="emphasis"><em>30.7.5.2.3 [ostream.inserters]</em></span>
+ NTCTS for <code class="code">nullptr_t</code> is <code class="literal">"nullptr"</code>.
</p><p>
<span class="emphasis"><em>30.10.2.1 [fs.conform.9945]</em></span>,
<span class="emphasis"><em>30.10.2.2 [fs.conform.os]</em></span>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
index 17108e3..fbec682 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
@@ -2614,6 +2614,11 @@ mainline GCC, not in any particular release.
</para>
<para>
+ <emphasis>20.8.11.1 [func.wrap.badcall]</emphasis>
+ <code>what()</code> returns <literal>"bad_function_call"</literal>.
+ </para>
+
+ <para>
<emphasis>20.8.9.1.3 [func.bind.place]/1</emphasis> There are 29
placeholders defined and the placeholder types are
<literal>CopyAssignable</literal>.
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
index 8ce714c..253aa48 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
@@ -2935,7 +2935,13 @@ since C++14 and the implementation is complete.
</para>
<para>
- <emphasis>23.12.5.2 [memory.resource.pool.options]</emphasis>
+ <emphasis>23.8.2 [any.bad_any_cast]</emphasis>
+ <code>what()</code> returns <literal>"bad any_cast"</literal>.
+ </para>
+
+ <para>
+ <emphasis>23.12.5 [mem.res.pool.options]</emphasis>,
+ <emphasis>23.12.5 [mem.res.pool.mem]</emphasis>
Let S equal <code>numeric_limits&lt;size_t&gt;::digits</code>.
The limit for maximum number of blocks in a chunk is given by
<inlineequation><mathphrase>2<superscript>N</superscript>-1</mathphrase></inlineequation>,
@@ -2948,7 +2954,7 @@ since C++14 and the implementation is complete.
</para>
<para>
- <emphasis>23.12.6.1 [memory.resource.monotonic.buffer.ctor]</emphasis>
+ <emphasis>23.12.6.1 [mem.res.monotonic.buffer.ctor]</emphasis>
The default <code>next_buffer_size</code> is <code>128 * sizeof(void*)</code>.
The default growth factor is <code>1.5</code>.
</para>
@@ -2998,8 +3004,13 @@ since C++14 and the implementation is complete.
<para>
<emphasis>29.9.5 [sf.cmath]</emphasis>
- The effect of calling the mathematical special functions with large
- inputs should be documented here.
+ Calling the mathematical special functions with large inputs is supported
+ but the results may be imprecise.
+ </para>
+
+ <para>
+ <emphasis>30.7.5.2.3 [ostream.inserters]</emphasis>
+ NTCTS for <code>nullptr_t</code> is <literal>"nullptr"</literal>.
</para>
<para>