status_cxx2011.xml: Document implementation-defined behavior.

* doc/xml/manual/status_cxx2011.xml: Document implementation-defined
	behavior.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r220878
This commit is contained in:
Jonathan Wakely 2015-02-20 19:01:46 +00:00 committed by Jonathan Wakely
parent 3c20c9bc8a
commit b56ac9d5f4
3 changed files with 152 additions and 0 deletions

View File

@ -4,6 +4,10 @@
* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
tuple layout.
* doc/xml/manual/status_cxx2011.xml: Document implementation-defined
behavior.
* doc/html/manual/status.html: Regenerate.
2015-02-19 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/58357

View File

@ -227,10 +227,33 @@ particular release.
see <a class="link" href="status.html#iso.1998.specific" title="Implementation Specific Behavior">C++ 1998/2003 Implementation
Specific Behavior</a>. This section only documents behaviour which
is new in the 2011 standard.
</p><p>
<span class="emphasis"><em>20.7.2.2.1 [util.smartptr.shared.const]</em></span>
Only <code class="classname">bad_alloc</code> (or types derived from it) will
be thrown.
</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>.
</p><p>
<span class="emphasis"><em>21.2.3.2 [char.traits.specializations.char16_t]</em></span>,
<span class="emphasis"><em>21.2.3.3 [char.traits.specializations.char32_t]</em></span>
The types <code class="classname">u16streampos</code> and
<code class="classname">u32streampos</code> are both synonyms for
<code class="classname">fpos&lt;mbstate_t&gt;</code>.
The function <code class="function">eof</code> returns <code class="code">int_type(-1)</code>.
</p><p>
<span class="emphasis"><em>21.2.3.2 [char.traits.specializations.char16_t]</em></span>
The type <code class="classname">u16streampos</code> is a synonym for
<code class="classname">fpos&lt;mbstate_t&gt;</code>.
The function <code class="function">eof</code> returns <code class="code">int_type(-1)</code>.
</p><p>
<span class="emphasis"><em>22.4.5.1.2 [locale.time.get.virtuals]</em></span>,
<span class="emphasis"><em>22.4.5.3.2 [locale.time.put.virtuals]</em></span>
Additional supported formats should be documented here.
</p><p>
<span class="emphasis"><em> 22.4.7.1.2 [locale.messages.virtuals]</em></span>
The mapping should be documented here.
</p><p>
<span class="emphasis"><em>23.5.4.2 [unord.map.cnstr]</em></span>,
<span class="emphasis"><em>23.5.5.2 [unord.multimap.cnstr]</em></span>,
@ -238,6 +261,45 @@ particular release.
<span class="emphasis"><em>23.5.7.2 [unord.multiset.cnstr]</em></span>
The default minimal bucket count is 0 for the default constructors, range
constructors and initializer-list constructors.
</p><p>
<span class="emphasis"><em>25.3.12 [alg.random.shuffle]</em></span>
The two-argument overload of <code class="function">random_shuffle</code>
uses <code class="function">rand</code> as the source of randomness.
</p><p>
<span class="emphasis"><em>26.5.5 [rand.predef]</em></span>
The type <code class="classname">default_random_engine</code> is a synonym for
<code class="classname">minstd_rand0</code>.
</p><p>
<span class="emphasis"><em> 26.5.6 [rand.device] </em></span>
The default <code class="code">token</code> argument to the
<code class="classname">random_device</code> constructor is
<code class="literal">"default"</code>. Other valid arguments are
<code class="literal">"/dev/random"</code> and <code class="literal">"/dev/urandom"</code>,
which determine the character special file to read random bytes from.
The <code class="literal">"default"</code> token will read bytes from a hardware
RNG if available (currently this only supports the IA-32 RDRAND
instruction) otherwise it is equivalent to
<code class="literal">"/dev/urandom"</code>.
An exception of type <code class="classname">runtime_error</code> will be
thrown if a <code class="classname">random_device</code> object cannot open
or read from the source of random bytes.
</p><p>
<span class="emphasis"><em>26.5.8.1 [rand.dist.general]</em></span>
The algorithms used by the distributions should be documented here.
</p><p>
<span class="emphasis"><em>26.8 [c.math]</em></span> Whether the
<code class="function">rand</code> function introduces data races depends on
the C library as the function is not provided by libstdc++.
</p><p>
<span class="emphasis"><em>28.5.1 [re.synopt]</em></span>,
<span class="emphasis"><em> 28.5.2 [re.matchflag] </em></span>,
<span class="emphasis"><em> 28.5.3 [re.err] </em></span>
<code class="code">syntax_option_type</code>, <code class="code">match_flag_type</code>
and <code class="code">error_type</code> are unscoped enumeration types.
</p><p>
<span class="emphasis"><em>28.7 [re.traits]</em></span>
The <code class="literal">blank</code> character class corresponds to the
<code class="code">ctype_base::blank</code> mask.
</p><p>
<span class="emphasis"><em>30.2.3 [thread.req.native]/1</em></span>
<code class="classname">native_handle_type</code> and

View File

@ -2575,12 +2575,45 @@ particular release.
is new in the 2011 standard.
</para>
<para>
<emphasis>20.7.2.2.1 [util.smartptr.shared.const]</emphasis>
Only <classname>bad_alloc</classname> (or types derived from it) will
be thrown.
</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>.
</para>
<para>
<emphasis>21.2.3.2 [char.traits.specializations.char16_t]</emphasis>,
<emphasis>21.2.3.3 [char.traits.specializations.char32_t]</emphasis>
The types <classname>u16streampos</classname> and
<classname>u32streampos</classname> are both synonyms for
<classname>fpos&lt;mbstate_t&gt;</classname>.
The function <function>eof</function> returns <code>int_type(-1)</code>.
</para>
<para>
<emphasis>21.2.3.2 [char.traits.specializations.char16_t]</emphasis>
The type <classname>u16streampos</classname> is a synonym for
<classname>fpos&lt;mbstate_t&gt;</classname>.
The function <function>eof</function> returns <code>int_type(-1)</code>.
</para>
<para>
<emphasis>22.4.5.1.2 [locale.time.get.virtuals]</emphasis>,
<emphasis>22.4.5.3.2 [locale.time.put.virtuals]</emphasis>
Additional supported formats should be documented here.
</para>
<para>
<emphasis> 22.4.7.1.2 [locale.messages.virtuals]</emphasis>
The mapping should be documented here.
</para>
<para>
<emphasis>23.5.4.2 [unord.map.cnstr]</emphasis>,
<emphasis>23.5.5.2 [unord.multimap.cnstr]</emphasis>,
@ -2590,6 +2623,59 @@ particular release.
constructors and initializer-list constructors.
</para>
<para>
<emphasis>25.3.12 [alg.random.shuffle]</emphasis>
The two-argument overload of <function>random_shuffle</function>
uses <function>rand</function> as the source of randomness.
</para>
<para>
<emphasis>26.5.5 [rand.predef]</emphasis>
The type <classname>default_random_engine</classname> is a synonym for
<classname>minstd_rand0</classname>.
</para>
<para>
<emphasis> 26.5.6 [rand.device] </emphasis>
The default <code>token</code> argument to the
<classname>random_device</classname> constructor is
<literal>"default"</literal>. Other valid arguments are
<literal>"/dev/random"</literal> and <literal>"/dev/urandom"</literal>,
which determine the character special file to read random bytes from.
The <literal>"default"</literal> token will read bytes from a hardware
RNG if available (currently this only supports the IA-32 RDRAND
instruction) otherwise it is equivalent to
<literal>"/dev/urandom"</literal>.
An exception of type <classname>runtime_error</classname> will be
thrown if a <classname>random_device</classname> object cannot open
or read from the source of random bytes.
</para>
<para>
<emphasis>26.5.8.1 [rand.dist.general]</emphasis>
The algorithms used by the distributions should be documented here.
</para>
<para>
<emphasis>26.8 [c.math]</emphasis> Whether the
<function>rand</function> function introduces data races depends on
the C library as the function is not provided by libstdc++.
</para>
<para>
<emphasis>28.5.1 [re.synopt]</emphasis>,
<emphasis> 28.5.2 [re.matchflag] </emphasis>,
<emphasis> 28.5.3 [re.err] </emphasis>
<code>syntax_option_type</code>, <code>match_flag_type</code>
and <code>error_type</code> are unscoped enumeration types.
</para>
<para>
<emphasis>28.7 [re.traits]</emphasis>
The <literal>blank</literal> character class corresponds to the
<code>ctype_base::blank</code> mask.
</para>
<para>
<emphasis>30.2.3 [thread.req.native]/1</emphasis>
<classname>native_handle_type</classname> and