status_cxx2017.xml: Update status tables.
authorJonathan Wakely <jwakely@redhat.com>
Fri, 5 Jun 2015 17:17:53 +0000 (18:17 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 5 Jun 2015 17:17:53 +0000 (18:17 +0100)
* doc/xml/manual/status_cxx2017.xml: Update status tables.
* doc/html/manual/*: Regenerate.
* include/std/type_traits (bool_constant): Define.
* testsuite/20_util/bool_constant/requirements.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r224160

libstdc++-v3/ChangeLog
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/xml/manual/status_cxx2017.xml
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc

index 0badc6db107ac20f1faca918f92bb426863b42a8..fe8957637b5c75f99f70653c3e88b44ba6ae0f16 100644 (file)
@@ -1,5 +1,15 @@
 2015-06-05  Jonathan Wakely  <jwakely@redhat.com>
 
+       * doc/xml/manual/status_cxx2017.xml: Update status tables.
+       * doc/html/manual/*: Regenerate.
+       * include/std/type_traits (bool_constant): Define.
+       * testsuite/20_util/bool_constant/requirements.cc: New.
+       * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
+       * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+       Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+       Likewise.
+
        * include/std/shared_mutex (__shared_mutex_pthread,
        __shared_mutex_cv): New helper types implementing the shared mutex
        requirements.
index 141ec5f82873e49db41d6b1a41a153830ca963fd..6d304dcb7fb53f981cd2d84e50829c7fc8686ce1 100644 (file)
@@ -508,7 +508,31 @@ not in any particular release.
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4280.pdf" target="_top">
          N4280
        </a>
-      </td><td align="left">Non-member size() and more</td><td align="left">N</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="table.cxx1z_ts_status"></a><p class="title"><strong>Table 1.6. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
+      </td><td align="left">Non-member size() and more</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366.html" target="_top">
+         N4387
+       </a>
+      </td><td align="left">
+        LWG 2228: Missing SFINAE rule in unique_ptr templated assignment
+      </td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387.html" target="_top">
+         N4387
+       </a>
+      </td><td align="left"> Improving pair and tuple, revision 3 </td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4389.html" target="_top">
+         N4389
+       </a>
+      </td><td align="left"> Wording for bool_constant, revision 1 </td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html" target="_top">
+         N4508
+       </a>
+      </td><td align="left">A proposal to add shared_mutex (untimed) (Revision 4)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html" target="_top">
+         N4510
+       </a>
+      </td><td align="left">
+        Minimal incomplete type support for standard containers, revision 4
+      </td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="table.cxx1z_ts_status"></a><p class="title"><strong>Table 1.6. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
        <a class="link" href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4076.html" target="_top">
          N4076
        </a>
@@ -528,7 +552,27 @@ not in any particular release.
        <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4282.pdf" target="_top">
          N4282
        </a>
-      </td><td align="left">The World's Dumbest Smart Pointer</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
+      </td><td align="left">The World's Dumbest Smart Pointer</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr bgcolor="#C8B0B0"><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4388.html" target="_top">
+         N4388
+       </a>
+      </td><td align="left">Const-Propagating Wrapper</td><td align="left">N</td><td align="left">Library Fundamentals 2 TS</td></tr><tr bgcolor="#C8B0B0"><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4391.html" target="_top">
+         N4391
+       </a>
+      </td><td align="left"> <code class="code">make_array</code>, revision 4 </td><td align="left">N</td><td align="left">Library Fundamentals 2 TS</td></tr><tr bgcolor="#C8B0B0"><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4502.pdf" target="_top">
+         N4502
+       </a>
+      </td><td align="left"> Support for the C++ Detection Idiom, V2 </td><td align="left">N</td><td align="left">Library Fundamentals 2 TS</td></tr><tr bgcolor="#C8B0B0"><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4519.pdf" target="_top">
+         N4519
+       </a>
+      </td><td align="left"> Source-Code Information Capture </td><td align="left">N</td><td align="left">Library Fundamentals 2 TS</td></tr><tr bgcolor="#C8B0B0"><td align="left">
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html" target="_top">
+         N4521
+       </a>
+      </td><td align="left"> Merge Fundamentals V1 into V2 </td><td align="left">N</td><td align="left">Library Fundamentals 2 TS</td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
 This table is based on the table of contents of ISO/IEC DTR 19768
 Doc No: N1836=05-0096 Date: 2005-06-24
 Draft Technical Report on C++ Library Extensions
index 55f3cd208fdfc08c1874d6cf2e4f9874d106215f..d110572e57a88ec464bc4a44c6f1963d2723a337 100644 (file)
@@ -162,6 +162,67 @@ not in any particular release.
       <entry/>
     </row>
 
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366.html">
+         N4387
+       </link>
+      </entry>
+      <entry>
+        LWG 2228: Missing SFINAE rule in unique_ptr templated assignment
+      </entry>
+      <entry>N</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387.html">
+         N4387
+       </link>
+      </entry>
+      <entry> Improving pair and tuple, revision 3 </entry>
+      <entry>N</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4389.html">
+         N4389
+       </link>
+      </entry>
+      <entry> Wording for bool_constant, revision 1 </entry>
+      <entry>Y</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html">
+         N4508
+       </link>
+      </entry>
+      <entry>A proposal to add shared_mutex (untimed) (Revision 4)</entry>
+      <entry>Y</entry>
+      <entry/>
+    </row>
+
+    <row>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html">
+         N4510
+       </link>
+      </entry>
+      <entry>
+        Minimal incomplete type support for standard containers, revision 4
+      </entry>
+      <entry>Y</entry>
+      <entry/>
+    </row>
+
   </tbody>
 </tgroup>
 </table>
@@ -241,6 +302,69 @@ not in any particular release.
       <entry>Library Fundamentals 2 TS</entry>
     </row>
 
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4388.html">
+         N4388
+       </link>
+      </entry>
+      <entry>Const-Propagating Wrapper</entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4391.html">
+         N4391
+       </link>
+      </entry>
+      <entry> <code>make_array</code>, revision 4 </entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4502.pdf">
+         N4502
+       </link>
+      </entry>
+      <entry> Support for the C++ Detection Idiom, V2 </entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4519.pdf">
+         N4519
+       </link>
+      </entry>
+      <entry> Source-Code Information Capture </entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+    <row>
+      <?dbhtml bgcolor="#C8B0B0" ?>
+      <entry>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html">
+         N4521
+       </link>
+      </entry>
+      <entry> Merge Fundamentals V1 into V2 </entry>
+      <entry>N</entry>
+      <entry>Library Fundamentals 2 TS</entry>
+    </row>
+
+
+
   </tbody>
 </tgroup>
 </table>
index 2eae61bb8f43e41e4a78d63e9137a216c089ce43..e09c856c934e595c26a634a82fe51a4a31a1ea38 100644 (file)
@@ -92,6 +92,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<bool __v>
     using __bool_constant = integral_constant<bool, __v>;
 
+#if __cplusplus > 201402L
+// TODO: #define __cpp_lib_bool_constant 201505
+  template<bool __v>
+    using bool_constant = integral_constant<bool, __v>;
+#endif
+
   // Meta programming helper types.
 
   template<bool, typename, typename>
diff --git a/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc b/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc
new file mode 100644 (file)
index 0000000..ddc02df
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+// { dg-do compile }
+
+#include <type_traits>
+
+static_assert( std::is_same<std::bool_constant<true>, std::true_type>::value,
+    "bool_constant<true> is true_type");
+static_assert( std::is_same<std::bool_constant<false>, std::false_type>::value,
+    "bool_constant<false> is false_type");
index 263fff2d4df8aab51b7d5d170e0ac1541f5aae75..2723e5c6689a7e9708baa3342118efb1b7afa648 100644 (file)
@@ -19,7 +19,7 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-error "static assertion failed" "" { target *-*-* } 2203 }
+// { dg-error "static assertion failed" "" { target *-*-* } 2209 }
 
 #include <utility>
 
index 5fbf311516a78cb39a83a5a0e971ab10d35101a3..507930d03d276ed3064fb43bae75307e2c1cfe56 100644 (file)
@@ -48,4 +48,4 @@ void test01()
 // { dg-error "required from here" "" { target *-*-* } 40 }
 // { dg-error "required from here" "" { target *-*-* } 42 }
 
-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1868 }
+// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1874 }
index 4e54b1842d79602648e0f3a84a65252b412cb8b9..608fd1a15f2171f828600d30717567d1e1c67e22 100644 (file)
@@ -48,5 +48,5 @@ void test01()
 // { dg-error "required from here" "" { target *-*-* } 40 }
 // { dg-error "required from here" "" { target *-*-* } 42 }
 
-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1764 }
-// { dg-error "declaration of" "" { target *-*-* } 1721 }
+// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1770 }
+// { dg-error "declaration of" "" { target *-*-* } 1727 }