[multiple changes]

2004-10-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/17948
	* include/bits/stl_tree.h (erase(iterator, iterator)): Revert
	wrong commit of 2004-10-07.

2004-10-12  Scott Snyder  <snyder@fnal.gov>

	PR libstdc++/17948
	* testsuite/23_containers/set/modifiers/17948.cc: New.

From-SVN: r88956
This commit is contained in:
Paolo Carlini 2004-10-13 00:11:14 +00:00
parent c8e6cd4166
commit a3186d4e60
3 changed files with 58 additions and 2 deletions

View File

@ -1,3 +1,14 @@
2004-10-12 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/17948
* include/bits/stl_tree.h (erase(iterator, iterator)): Revert
wrong commit of 2004-10-07.
2004-10-12 Scott Snyder <snyder@fnal.gov>
PR libstdc++/17948
* testsuite/23_containers/set/modifiers/17948.cc: New.
2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_deque.h: Correct for over-long lines.

View File

@ -1087,8 +1087,8 @@ namespace std
if (__first == begin() && __last == end())
clear();
else
for (; __first != __last; ++__first)
erase(__first);
while (__first != __last)
erase(__first++);
}
template<typename _Key, typename _Val, typename _KeyOfValue,

View File

@ -0,0 +1,45 @@
// Copyright (C) 2004 Free Software Foundation
//
// 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 <set>
#include <testsuite_hooks.h>
// libstdc++/17948
void test01()
{
bool test __attribute__((unused)) = true;
using namespace std;
typedef set<int>::size_type size_type;
set<int> s;
s.insert(2);
s.insert(3);
size_type x = s.erase(3);
VERIFY( s.size() == 1 );
VERIFY( x == 1 );
}
int main ()
{
test01();
return 0;
}