This replaces our local copies of the LWG issues lists with the latest revisions (from http://www.open-std.org/jtc1/sc22/wg21/docs/lwg93.zip) and updates https://gcc.gnu.org/onlinedocs/libstdc++/manual/bugs.html#manual.intro.status.bugs.iso to document some of the DRs we've implemented in the last few years.
Committed to trunk.
commit 2861a8c80a4b06c95296328d5d6ae10147565bb1 Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri May 29 16:09:05 2015 +0100 * doc/html/ext/lwg-active.html: Update to R93. * doc/html/ext/lwg-closed.html: Likewise. * doc/html/ext/lwg-defects.html: Likewise. * doc/html/manual/*: Regenerate. * doc/xml/manual/intro.xml: Document status of several DRs. diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index f0c66a2..e6039eb 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -644,6 +644,12 @@ requirements of the license of GCC. <listitem><para>Implement the resolution, basically cast less. </para></listitem></varlistentry> + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#445">445</link>: + <emphasis>iterator_traits::reference unspecified for some iterator categories</emphasis> + </term> + <listitem><para>Change <code>istreambuf_iterator::reference</code> in C++11 mode. + </para></listitem></varlistentry> + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#453">453</link>: <emphasis>basic_stringbuf::seekoff need not always fail for an empty stream</emphasis> </term> @@ -663,6 +669,12 @@ requirements of the license of GCC. <code>at(const key_type&)</code> to <code>std::map</code>. </para></listitem></varlistentry> + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#467">467</link>: + <emphasis>char_traits::lt(), compare(), and memcmp()</emphasis> + </term> + <listitem><para>Change <code>lt</code>. + </para></listitem></varlistentry> + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#508">508</link>: <emphasis>Bad parameters for ranlux64_base_01</emphasis> </term> @@ -820,6 +832,182 @@ requirements of the license of GCC. <listitem><para>Correctly decay types in signature of <code>std::async</code>. </para></listitem></varlistentry> + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2049">2049</link>: + <emphasis><code>is_destructible</code> underspecified</emphasis> + </term> + <listitem><para>Handle non-object types. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2056">2056</link>: + <emphasis>future_errc enums start with value 0 (invalid value for broken_promise)</emphasis> + </term> + <listitem><para>Reorder enumerators. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2059">2059</link>: + <emphasis>C++0x ambiguity problem with map::erase</emphasis> + </term> + <listitem><para>Add additional overloads. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2067">2067</link>: + <emphasis>packaged_task should have deleted copy c'tor with const parameter</emphasis> + </term> + <listitem><para>Fix signatures. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2101">2101</link>: + <emphasis>Some transformation types can produce impossible types</emphasis> + </term> + <listitem><para>Use the referenceable type concept. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2106">2106</link>: + <emphasis>move_iterator wrapping iterators returning prvalues</emphasis> + </term> + <listitem><para>Change the <code>reference</code> type. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2118">2118</link>: + <emphasis><code>unique_ptr</code> for array does not support cv qualification conversion of actual argument</emphasis> + </term> + <listitem><para>Adjust constraints to allow safe conversions. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2132">2132</link>: + <emphasis><code>std::function</code> ambiguity</emphasis> + </term> + <listitem><para>Constrain the constructor to only accept callable types. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2141">2141</link>: + <emphasis><code>common_type</code> trait produces reference types</emphasis> + </term> + <listitem><para>Use <code>decay</code> for the result type. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2144">2144</link>: + <emphasis>Missing <code>noexcept</code> specification in <code>type_index</code></emphasis> + </term> + <listitem><para>Add <code>noexcept</code> + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2145">2145</link>: + <emphasis><code>error_category</code> default constructor</emphasis> + </term> + <listitem><para>Declare a public constexpr constructor. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2162">2162</link>: + <emphasis><code>allocator_traits::max_size</code> missing <code>noexcept</code></emphasis> + </term> + <listitem><para>Add <code>noexcept</code>. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2187">2187</link>: + <emphasis><code>vector<bool></code> is missing <code>emplace</code> and <code>emplace_back</code> member functions</emphasis> + </term> + <listitem><para>Add <code>emplace</code> and <code>emplace_back</code> member functions. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2196">2196</link>: + <emphasis>Specification of <code>is_*[copy/move]_[constructible/assignable]</code> unclear for non-referencable types</emphasis> + </term> + <listitem><para>Use the referenceable type concept. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2313">2313</link>: + <emphasis><code>tuple_size</code> should always derive from <code>integral_constant<size_t, N></code></emphasis> + </term> + <listitem><para>Update definitions of the partial specializations for const and volatile types. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2329">2329</link>: + <emphasis><code>regex_match()/regex_search()</code> with <code>match_results</code> should forbid temporary strings</emphasis> + </term> + <listitem><para>Add deleted overloads for rvalue strings. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2332">2332</link>: + <emphasis><code>regex_iterator/regex_token_iterator</code> should forbid temporary regexes</emphasis> + </term> + <listitem><para>Add deleted constructors. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2399">2399</link>: + <emphasis><code>shared_ptr</code>'s constructor from <code>unique_ptr</code> should be constrained</emphasis> + </term> + <listitem><para>Constrain the constructor to require convertibility. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2400">2400</link>: + <emphasis><code>shared_ptr</code>'s <code>get_deleter()</code> should use <code>addressof()</code></emphasis> + </term> + <listitem><para>Use <code>addressof</code>. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2401">2401</link>: + <emphasis><code>std::function</code> needs more <code>noexcept</code></emphasis> + </term> + <listitem><para>Add <code>noexcept</code> to the assignment and comparisons. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2407">2407</link>: + <emphasis><code>packaged_task(allocator_arg_t, const Allocator&, F&&)</code> + should neither be constrained nor <code>explicit</code> + </emphasis> + </term> + <listitem><para>Remove <code>explicit</code> from the constructor. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2415">2415</link>: + <emphasis>Inconsistency between <code>unique_ptr</code> and <code>shared_ptr</code></emphasis> + </term> + <listitem><para>Create empty an <code>shared_ptr</code> from an empty + <code>unique_ptr</code>. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2418">2418</link>: + <emphasis><code>apply</code> does not work with member pointers</emphasis> + </term> + <listitem><para>Use <code>mem_fn</code> for member pointers. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2440">2440</link>: + <emphasis><code>seed_seq::size()</code> should be <code>noexcept</code></emphasis> + </term> + <listitem><para>Add <code>noexcept</code>. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2454">2454</link>: + <emphasis>Add <code>raw_storage_iterator::base()</code> member + </emphasis> + </term> + <listitem><para>Add the <code>base()</code> member function. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2455">2455</link>: + <emphasis>Allocator default construction should be allowed to throw + </emphasis> + </term> + <listitem><para>Make <code>noexcept</code> specifications conditional. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2459">2459</link>: + <emphasis><code>std::polar</code> should require a non-negative rho + </emphasis> + </term> + <listitem><para>Add debug mode assertion. + </para></listitem></varlistentry> + + <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2466">2466</link>: + <emphasis><code>allocator_traits::max_size()</code> default behavior is incorrect + </emphasis> + </term> + <listitem><para>Divide by the object type. + </para></listitem></varlistentry> + + </variablelist> </section>