re PR libstdc++/16813 (compiler error in DEBUG version of range insertion std::map...
authorPaolo Carlini <pcarlini@suse.de>
Thu, 29 Jul 2004 10:52:49 +0000 (10:52 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 29 Jul 2004 10:52:49 +0000 (10:52 +0000)
2004-07-29  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/16813
* include/debug/map.h (insert(_InputIterator, _InputIterator)):
Fix typo.
* testsuite/23_containers/map/insert/16813.cc: New.

From-SVN: r85295

libstdc++-v3/ChangeLog
libstdc++-v3/include/debug/map.h
libstdc++-v3/testsuite/23_containers/map/insert/16813.cc [new file with mode: 0644]

index dba7411..8e46102 100644 (file)
@@ -1,3 +1,10 @@
+2004-07-29  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/16813
+       * include/debug/map.h (insert(_InputIterator, _InputIterator)):
+       Fix typo.
+       * testsuite/23_containers/map/insert/16813.cc: New.
+
 2004-07-29  Phil Edwards  <phil@codesourcery.com>
 
        * docs/html/faq/index.html:  Update version references.  Make
index 2a6794b..0171584 100644 (file)
@@ -163,7 +163,7 @@ namespace __gnu_debug_def
         void
         insert(_InputIterator __first, _InputIterator __last)
         {
-         __glibcxx_valid_range(__first, __last);
+         __glibcxx_check_valid_range(__first, __last);
          _Base::insert(__first, __last);
        }
 
diff --git a/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc b/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc
new file mode 100644 (file)
index 0000000..cf22578
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright (C) 2004 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+#include <debug/map>
+#include <testsuite_hooks.h>
+
+// libstdc++/16813
+void test01()
+{
+  using __gnu_debug::map;
+  bool test __attribute__((unused)) = true;
+
+  map<int, float> m1, m2;
+
+  m1[3] = 3.0f;
+  m1[11] = -67.0f;
+
+  m2.insert(m1.begin(), m1.end());
+
+  VERIFY( m1 == m2 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}