Commit 37ad0fc9 by Jonathan Wakely Committed by Jonathan Wakely

Update documentation of implementation-defined library features

	* doc/xml/manual/status_cxx2011.xml: Use <variablelist> for
	documentation of implementation-defined types for [thread.req.native].
	* doc/xml/manual/status_cxx2017.xml: Update documentation of
	implementation-defined strings for [variant.bad.access]. Fix typo in
	documentation of implementation-defined support for [fs.conform.9945].
	* doc/html/*: Regenerate.

From-SVN: r271773
parent 02fac244
2019-05-30 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2011.xml: Use <variablelist> for
documentation of implementation-defined types for [thread.req.native].
* doc/xml/manual/status_cxx2017.xml: Update documentation of
implementation-defined strings for [variant.bad.access]. Fix typo in
documentation of implementation-defined support for [fs.conform.9945].
* doc/html/*: Regenerate.
2019-05-29 Jonathan Wakely <jwakely@redhat.com> 2019-05-29 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85494 PR libstdc++/85494
......
...@@ -374,26 +374,25 @@ particular release. ...@@ -374,26 +374,25 @@ particular release.
is subject to change at any time. Any use of is subject to change at any time. Any use of
<code class="classname">native_handle</code> is inherently non-portable and <code class="classname">native_handle</code> is inherently non-portable and
not guaranteed to work between major releases of GCC. not guaranteed to work between major releases of GCC.
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="classname">thread</code>: The native handle type is </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="classname">thread</code></span></dt><dd>
a typedef for <code class="code">__gthread_t</code> i.e. <code class="code">pthread_t</code> The native handle type is a typedef for <code class="code">__gthread_t</code>
when GCC is configured with the <code class="literal">posix</code> thread i.e. <code class="code">pthread_t</code> when GCC is configured with the
model. The value of the native handle is undefined for a thread <code class="literal">posix</code> thread model.
The value of the native handle is undefined for a thread
which is not joinable. which is not joinable.
</p></li><li class="listitem"><p><code class="classname">mutex</code> and </dd><dt><span class="term"><code class="classname">mutex</code>, </span><span class="term"><code class="classname">timed_mutex</code></span></dt><dd>
<code class="classname">timed_mutex</code>:
The native handle type is <code class="code">__gthread_mutex_t*</code> i.e. The native handle type is <code class="code">__gthread_mutex_t*</code> i.e.
<code class="code">pthread_mutex_t*</code> for the <code class="literal">posix</code> <code class="code">pthread_mutex_t*</code> for the <code class="literal">posix</code>
thread model. thread model.
</p></li><li class="listitem"><p><code class="classname">recursive_mutex</code> and </dd><dt><span class="term"><code class="classname">recursive_mutex</code>, </span><span class="term"><code class="classname">recursive_timed_mutex</code></span></dt><dd>
<code class="classname">recursive_timed_mutex</code>:
The native handle type is <code class="code">__gthread_recursive_mutex_t*</code> The native handle type is <code class="code">__gthread_recursive_mutex_t*</code>
i.e. <code class="code">pthread_mutex_t*</code> for the <code class="literal">posix</code> i.e. <code class="code">pthread_mutex_t*</code> for the <code class="literal">posix</code>
thread model. thread model.
</p></li><li class="listitem"><p><code class="classname">condition_variable</code>: The native </dd><dt><span class="term"><code class="classname">condition_variable</code></span></dt><dd>
handle type is <code class="code">__gthread_cond_t*</code> i.e. The native handle type is <code class="code">__gthread_cond_t*</code> i.e.
<code class="code">pthread_cond_t*</code> for the <code class="literal">posix</code> <code class="code">pthread_cond_t*</code> for the <code class="literal">posix</code>
thread model. thread model.
</p></li></ul></div><p> </dd></dl></div><p>
</p><p> </p><p>
<span class="emphasis"><em>30.6.1 [futures.overview]/2</em></span> <span class="emphasis"><em>30.6.1 [futures.overview]/2</em></span>
<code class="code">launch</code> is a scoped enumeration type with <code class="code">launch</code> is a scoped enumeration type with
...@@ -945,7 +944,11 @@ and test for <code class="code">__STDCPP_MATH_SPEC_FUNCS__ &gt;= 201003L</code>. ...@@ -945,7 +944,11 @@ and test for <code class="code">__STDCPP_MATH_SPEC_FUNCS__ &gt;= 201003L</code>.
<code class="classname">variant</code> supports over-aligned types. <code class="classname">variant</code> supports over-aligned types.
</p><p> </p><p>
<span class="emphasis"><em>23.7.10 [variant.bad.access]</em></span> <span class="emphasis"><em>23.7.10 [variant.bad.access]</em></span>
<code class="code">what()</code> returns <code class="literal">"Unexpected index"</code>. <code class="code">what()</code> returns one of the strings
<code class="literal">"std::get: variant is valueless"</code>,
<code class="literal">"std::get: wrong index for variant"</code>,
<code class="literal">"std::visit: variant is valueless"</code>,
or <code class="literal">"std::visit&lt;R&gt;: variant is valueless"</code>.
</p><p> </p><p>
<span class="emphasis"><em>23.12.5.2 [memory.resource.pool.options]</em></span> <span class="emphasis"><em>23.12.5.2 [memory.resource.pool.options]</em></span>
Let S equal <code class="code">numeric_limits&lt;size_t&gt;::digits</code>. Let S equal <code class="code">numeric_limits&lt;size_t&gt;::digits</code>.
...@@ -998,7 +1001,7 @@ and test for <code class="code">__STDCPP_MATH_SPEC_FUNCS__ &gt;= 201003L</code>. ...@@ -998,7 +1001,7 @@ and test for <code class="code">__STDCPP_MATH_SPEC_FUNCS__ &gt;= 201003L</code>.
</p><p> </p><p>
<span class="emphasis"><em>30.10.2.1 [fs.conform.9945]</em></span> <span class="emphasis"><em>30.10.2.1 [fs.conform.9945]</em></span>
The behavior of the filesystem library implementation will depend on The behavior of the filesystem library implementation will depend on
the target operating system. Some features will not be not supported the target operating system. Some features will not be supported
on some targets. on some targets.
</p><p> </p><p>
<span class="emphasis"><em>30.10.5 [fs.filesystem.syn]</em></span> <span class="emphasis"><em>30.10.5 [fs.filesystem.syn]</em></span>
......
...@@ -2793,31 +2793,44 @@ particular release. ...@@ -2793,31 +2793,44 @@ particular release.
is subject to change at any time. Any use of is subject to change at any time. Any use of
<classname>native_handle</classname> is inherently non-portable and <classname>native_handle</classname> is inherently non-portable and
not guaranteed to work between major releases of GCC. not guaranteed to work between major releases of GCC.
<itemizedlist> <variablelist>
<listitem><para><classname>thread</classname>: The native handle type is <varlistentry>
a typedef for <code>__gthread_t</code> i.e. <code>pthread_t</code> <term><classname>thread</classname></term>
when GCC is configured with the <literal>posix</literal> thread <listitem>
model. The value of the native handle is undefined for a thread The native handle type is a typedef for <code>__gthread_t</code>
i.e. <code>pthread_t</code> when GCC is configured with the
<literal>posix</literal> thread model.
The value of the native handle is undefined for a thread
which is not joinable. which is not joinable.
</para></listitem> </listitem>
<listitem><para><classname>mutex</classname> and </varlistentry>
<classname>timed_mutex</classname>: <varlistentry>
<term><classname>mutex</classname></term>
<term><classname>timed_mutex</classname></term>
<listitem>
The native handle type is <code>__gthread_mutex_t*</code> i.e. The native handle type is <code>__gthread_mutex_t*</code> i.e.
<code>pthread_mutex_t*</code> for the <literal>posix</literal> <code>pthread_mutex_t*</code> for the <literal>posix</literal>
thread model. thread model.
</para></listitem> </listitem>
<listitem><para><classname>recursive_mutex</classname> and </varlistentry>
<classname>recursive_timed_mutex</classname>: <varlistentry>
<term><classname>recursive_mutex</classname></term>
<term><classname>recursive_timed_mutex</classname></term>
<listitem>
The native handle type is <code>__gthread_recursive_mutex_t*</code> The native handle type is <code>__gthread_recursive_mutex_t*</code>
i.e. <code>pthread_mutex_t*</code> for the <literal>posix</literal> i.e. <code>pthread_mutex_t*</code> for the <literal>posix</literal>
thread model. thread model.
</para></listitem> </listitem>
<listitem><para><classname>condition_variable</classname>: The native </varlistentry>
handle type is <code>__gthread_cond_t*</code> i.e. <varlistentry>
<term><classname>condition_variable</classname></term>
<listitem>
The native handle type is <code>__gthread_cond_t*</code> i.e.
<code>pthread_cond_t*</code> for the <literal>posix</literal> <code>pthread_cond_t*</code> for the <literal>posix</literal>
thread model. thread model.
</para></listitem> </listitem>
</itemizedlist> </varlistentry>
</variablelist>
</para> </para>
<para> <para>
......
...@@ -1043,7 +1043,11 @@ and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>. ...@@ -1043,7 +1043,11 @@ and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>.
<para> <para>
<emphasis>23.7.10 [variant.bad.access]</emphasis> <emphasis>23.7.10 [variant.bad.access]</emphasis>
<code>what()</code> returns <literal>"Unexpected index"</literal>. <code>what()</code> returns one of the strings
<literal>"std::get: variant is valueless"</literal>,
<literal>"std::get: wrong index for variant"</literal>,
<literal>"std::visit: variant is valueless"</literal>,
or <literal>"std::visit&lt;R&gt;: variant is valueless"</literal>.
</para> </para>
<para> <para>
...@@ -1117,7 +1121,7 @@ and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>. ...@@ -1117,7 +1121,7 @@ and test for <code>__STDCPP_MATH_SPEC_FUNCS__ >= 201003L</code>.
<para> <para>
<emphasis>30.10.2.1 [fs.conform.9945]</emphasis> <emphasis>30.10.2.1 [fs.conform.9945]</emphasis>
The behavior of the filesystem library implementation will depend on The behavior of the filesystem library implementation will depend on
the target operating system. Some features will not be not supported the target operating system. Some features will not be supported
on some targets. on some targets.
</para> </para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment