Index: doc/xml/manual/intro.xml
===================================================================
--- doc/xml/manual/intro.xml (revision 136738)
+++ doc/xml/manual/intro.xml (working copy)
@@ -666,8 +666,15 @@
Implement the int -> size_t replacements.
+ 776:
+ Undescribed assign function of std::array
+
+ In C++0x mode, remove assign, add fill.
+
+
778:
- std::bitset does not have any constructor taking a string literal
+ std::bitset does not have any constructor taking a string
+ literal
Add it.
Index: include/tr1_impl/array
===================================================================
--- include/tr1_impl/array (revision 136738)
+++ include/tr1_impl/array (working copy)
@@ -56,11 +56,16 @@
// No explicit construct/copy/destroy for aggregate type.
- void
+ void
+#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+ // DR 776.
+ fill(const value_type& __u)
+#else
assign(const value_type& __u)
+#endif
{ std::fill_n(begin(), size(), __u); }
- void
+ void
swap(array& __other)
{ std::swap_ranges(begin(), end(), __other.begin()); }
@@ -74,7 +79,7 @@
{ return const_iterator(&_M_instance[0]); }
iterator
- end()
+ end()
{ return iterator(&_M_instance[_Nm]); }
const_iterator
Index: testsuite/23_containers/array/requirements/fill.cc
===================================================================
--- testsuite/23_containers/array/requirements/fill.cc (revision 0)
+++ testsuite/23_containers/array/requirements/fill.cc (revision 0)
@@ -0,0 +1,47 @@
+// { dg-options "-std=gnu++0x" }
+
+// 2008-06-13 Paolo Carlini
+//
+// Copyright (C) 2008 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 2, 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 COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include
+#include
+
+// DR 776. Undescribed assign function of std::array.
+void test01()
+{
+ bool test __attribute__((unused)) = true;
+
+ const size_t len = 3;
+ typedef std::array array_type;
+
+ array_type a = { { 0, 1, 2 } };
+ const int value = 5;
+
+ a.fill(value);
+ VERIFY( a[0] == value );
+ VERIFY( a[1] == value );
+ VERIFY( a[2] == value );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}