Bug 20787 - [DR 130] Implement resolution of DR 130 [Ready] in v7-branch
Summary: [DR 130] Implement resolution of DR 130 [Ready] in v7-branch
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libstdc++ (show other bugs)
Version: 4.0.0
: P2 enhancement
Target Milestone: ---
Assignee: Paolo Carlini
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-06 10:50 UTC by Paolo Carlini
Modified: 2005-09-03 00:41 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2005-07-06 01:56:13


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paolo Carlini 2005-04-06 10:50:35 UTC
Just an internal reminder. A couple of notes:
1- I'm pretty sure cannot be implemented in v6, but would be happy to be wrong.
2- Maybe a similar fix is needed also for <tr1/unordered_*>.
Comment 1 GCC Commits 2005-09-03 00:39:49 UTC
Subject: Bug 20787

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	libstdcxx_so_7-branch
Changes by:	paolo@gcc.gnu.org	2005-09-03 00:39:37

Modified files:
	libstdc++-v3   : ChangeLog.libstdcxx_so_7-branch 
	libstdc++-v3/docs/html/ext: howto.html 
	libstdc++-v3/include/bits: stl_map.h stl_multimap.h 
	                           stl_multiset.h stl_set.h stl_tree.h 
	libstdc++-v3/include/debug: map.h multimap.h multiset.h set.h 
Added files:
	libstdc++-v3/testsuite/23_containers/map/erase: 1.cc 
	libstdc++-v3/testsuite/23_containers/multimap/erase: 1.cc 
	libstdc++-v3/testsuite/23_containers/multiset/erase: 1.cc 
	libstdc++-v3/testsuite/23_containers/set/erase: 1.cc 

Log message:
	2005-09-02  Paolo Carlini  <pcarlini@suse.de>
	
	PR libstdc++/20787 (DR 130 [DR])
	* include/bits/stl_tree.h (_Rb_tree<>::erase(iterator),
	_Rb_tree<>::erase(iterator, iterator)): Adjust to return
	an iterator, as per the resolution of DR 130.
	* include/bits/stl_map.h (map<>::erase(iterator),
	map<>::erase(iterator, iterator)): Update consistently.
	* include/bits/stl_multimap.h (multimap<>::erase(iterator),
	multimap<>::erase(iterator, iterator)): Likewise.
	* include/bits/stl_multiset.h (multiset<>::erase(iterator),
	multiset<>::erase(iterator, iterator)): Likewise.
	* include/bits/stl_set.h (set<>::erase(iterator),
	set<>::erase(iterator, iterator)): Likewise.
	* include/debug/map.h (map<>::erase(iterator),
	map<>::erase(iterator, iterator)): Likewise.
	* include/debug/multimap.h (multimap<>::erase(iterator),
	multimap<>::erase(iterator, iterator)): Likewise.
	* include/debug/multiset.h (multiset<>::erase(iterator),
	multiset<>::erase(iterator, iterator)): Likewise.
	* include/debug/set.h (set<>::erase(iterator),
	set<>::erase(iterator, iterator)): Likewise.
	* docs/html/ext/howto.html: Add an entry for DR 130.
	* testsuite/23_containers/map/erase/1.cc: New.
	* testsuite/23_containers/multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/multiset/erase/1.cc: Likewise.
	* testsuite/23_containers/set/erase/1.cc: Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.libstdcxx_so_7-branch.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.1.2.65&r2=1.1.2.66
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/docs/html/ext/howto.html.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.47.4.6&r2=1.47.4.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_map.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.24.2.7&r2=1.24.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_multimap.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.23.2.7&r2=1.23.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_multiset.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.24.2.6&r2=1.24.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_set.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.23.2.6&r2=1.23.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_tree.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.36.2.9&r2=1.36.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/debug/map.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.3.2.2&r2=1.3.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/debug/multimap.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.3.2.1&r2=1.3.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/debug/multiset.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.3.2.1&r2=1.3.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/debug/set.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.3.2.1&r2=1.3.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/23_containers/map/erase/1.cc.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/23_containers/multimap/erase/1.cc.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/23_containers/multiset/erase/1.cc.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/23_containers/set/erase/1.cc.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=NONE&r2=1.1.2.1

Comment 2 Paolo Carlini 2005-09-03 00:41:19 UTC
Fixed in v7-branch.