I have double checked that implementation-defined behavior in the [compliance]
(whether the implementation is freestanding) and [stringbuf.const]
(initialization
of sequence pointers) are indeed null, and there are no corresponding entires in
eariel standards.
libstdc++-v3/ChangeLog:
* doc/html/manual/status.html: Regenerate.
* doc/xml/manual/status_cxx2020.xml: Add more entires.
---
OK for trunk? Should I also backport it, if so how far?
libstdc++-v3/doc/html/manual/status.html | 21 ++++++++++++++
.../doc/xml/manual/status_cxx2020.xml | 29 +++++++++++++++++++
2 files changed, 50 insertions(+)
diff --git a/libstdc++-v3/doc/html/manual/status.html
b/libstdc++-v3/doc/html/manual/status.html
index 9dc96b8f141..66d1e5aba93 100644
--- a/libstdc++-v3/doc/html/manual/status.html
+++ b/libstdc++-v3/doc/html/manual/status.html
@@ -1766,12 +1766,27 @@ and <code class="function">chrono::parse</code> is
supported since 14.1.
<a class="link" href="status.html#iso.2017.specific"
title="Implementation Specific Behavior">C++ 2017 Implementation Specific
Behavior</a>. This section only documents behaviour which is new in
the 2020 standard.
+ </p><p>
+ <span class="emphasis"><em>16.4.2.4 [compliance]</em></span> The
implementation is
+ freestanding if <code class="code">-ffreestanding</code> compiler flag
is used,
+ and hosted otherwise.
</p><p>
<span class="emphasis"><em>16.4.2.4 [compliance]</em></span>
The support for always lock-free integral atomic types and presence of
<code class="code">atomic_signed_lock_free</code> and
<code class="code">atomic_unsigned_lock_free</code> type aliases depends
on the
target.
+ </p><p>
+ <span class="emphasis"><em>27.5.11 [time.duration.io]</em></span>
+ The <code class="literal">"μs"</code> (<code
class="literal">"\u00b5\u0073"</code>) is used
+ for <code class="code">std::micro</code> <code
class="code">Period::type</code> if macro
+ <code class="code">_GLIBCXX_USE_ALT_MICROSECONDS_SUFFIX</code> is
defined to value
+ other than zero before inclusion of the <code class="code">chrono</code>
header,
+ <code class="literal">"us"</code> is used otherwise.
+ </p><p>
+ <span class="emphasis"><em>29.8.2.2 [stringbuf.cons]</em></span>
Sequence pointers are
+ initialied to null pointers by
+ <code class="code">basic_stringbuf(ios_base::openmode)</code>
constructor.
</p><p>
<span class="emphasis"><em>31.7.1
[atomics.ref.generic.general]</em></span>,
<span class="emphasis"><em>31.7.3 [atomics.ref.int]</em></span>,
@@ -1795,6 +1810,12 @@ and <code class="function">chrono::parse</code> is
supported since 14.1.
<span class="emphasis"><em>31.7.5 [atomics.ref.pointer]</em></span>
The value of <code class="code">required_alignment</code> member is
equal to
<code class="code">alignof(value_type)</code>.
+ </p><p>
+ <span class="emphasis"><em>32.7.3 [thread.sema.cnt]</em></span> The
value of default
+ argument for the <code class="code">least_max_value</code> depends on
the target
+ operating system and platform, however the value of
+ <code class="code">counting_semaphore<>::max()</code> is greater
than or equal
+ to <code class="code">numeric_limits<int>::max()</code>.
</p></div></div><div class="section"><div class="titlepage"><div><div><h3
class="title"><a id="status.iso.2023"></a>C++ 2023</h3></div></div></div><p>
In this implementation the <code class="literal">-std=gnu++23</code> or
<code class="literal">-std=c++23</code> flag must be used to enable language
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml
b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml
index 3539de3cc4b..e646215e092 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml
@@ -1464,6 +1464,12 @@ and <function>chrono::parse</function> is supported
since 14.1.
the 2020 standard.
</para>
+ <para>
+ <emphasis>16.4.2.4 [compliance]</emphasis> The implementation is
+ freestanding if <code>-ffreestanding</code> compiler flag is used,
+ and hosted otherwise.
+ </para>
+
<para>
<emphasis>16.4.2.4 [compliance]</emphasis>
The support for always lock-free integral atomic types and presence of
@@ -1472,6 +1478,21 @@ and <function>chrono::parse</function> is supported
since 14.1.
target.
</para>
+ <para>
+ <emphasis>27.5.11 [time.duration.io]</emphasis>
+ The <literal>"μs"</literal> (<literal>"\u00b5\u0073"</literal>) is used
+ for <code>std::micro</code> <code>Period::type</code> if macro
+ <code>_GLIBCXX_USE_ALT_MICROSECONDS_SUFFIX</code> is defined to value
+ other than zero before inclusion of the <code>chrono</code> header,
+ <literal>"us"</literal> is used otherwise.
+ </para>
+
+ <para>
+ <emphasis>29.8.2.2 [stringbuf.cons]</emphasis> Sequence pointers are
+ initialied to null pointers by
+ <code>basic_stringbuf(ios_base::openmode)</code> constructor.
+ </para>
+
<para>
<emphasis>31.7.1 [atomics.ref.generic.general]</emphasis>,
<emphasis>31.7.3 [atomics.ref.int]</emphasis>,
@@ -1503,6 +1524,14 @@ and <function>chrono::parse</function> is supported
since 14.1.
<code>alignof(value_type)</code>.
</para>
+ <para>
+ <emphasis>32.7.3 [thread.sema.cnt]</emphasis> The value of default
+ argument for the <code>least_max_value</code> depends on the target
+ operating system and platform, however the value of
+ <code>counting_semaphore<>::max()</code> is greater than or equal
+ to <code>numeric_limits<int>::max()</code>.
+ </para>
+
</section>
</section>
--
2.51.0