aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2010-03-09 01:56:42 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2010-03-09 01:56:42 +0000
commitd723ced225a7a6e0130799c4bc2ce4daadfe358d (patch)
tree7b4ab3323cd7e2deb3c657e1214ad0e38e3149fe /libstdc++-v3/testsuite
parentdc344e877ab5ab11883350111f5d5e8cdbd732a2 (diff)
downloadgcc-d723ced225a7a6e0130799c4bc2ce4daadfe358d.zip
gcc-d723ced225a7a6e0130799c4bc2ce4daadfe358d.tar.gz
gcc-d723ced225a7a6e0130799c4bc2ce4daadfe358d.tar.bz2
revert: PR libstdc++/41975, DR 579
2010-03-08 Paolo Carlini <paolo.carlini@oracle.com> Revert: 2010-02-11 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/41975, DR 579 * include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove. (erase(const_iterator), erase(const_iterator, const_iterator)): Change return type to void. * include/debug/unordered_map: Adjust. * include/debug/unordered_set: Likewise. * testsuite/util/exception/safety.h: Likewise. * testsuite/23_containers/unordered_map/erase/1.cc: Likewise. * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_set/erase/1.cc: Likewise. * testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/24061-map.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/24061-map.cc: Likewise. From-SVN: r157300
Diffstat (limited to 'libstdc++-v3/testsuite')
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc21
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc20
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc20
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc21
-rw-r--r--libstdc++-v3/testsuite/util/exception/safety.h24
9 files changed, 78 insertions, 36 deletions
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc
index 70fb41e..f9b74e0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc
@@ -113,7 +113,7 @@ void test01()
VERIFY( m1.size() == 2 );
VERIFY( ++it10 == m1.end() );
- m1.erase(m1.begin());
+ VERIFY( m1.erase(m1.begin()) != m1.end() );
VERIFY( m1.size() == 1 );
VERIFY( m1.begin() == it11 );
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc
index 759602b..87ab474 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc
@@ -51,8 +51,10 @@ void test01()
++it1;
iterator it2 = it1;
++it2;
- m1.erase(it1);
+ iterator it3 = m1.erase(it1);
VERIFY( m1.size() == 9 );
+ VERIFY( it3 == it2 );
+ VERIFY( *it3 == *it2 );
iterator it4 = m1.begin();
++it4;
@@ -61,8 +63,10 @@ void test01()
iterator it5 = it4;
++it5;
++it5;
- m1.erase(it4, it5);
+ iterator it6 = m1.erase(it4, it5);
VERIFY( m1.size() == 7 );
+ VERIFY( it6 == it5 );
+ VERIFY( *it6 == *it5 );
const_iterator it7 = m1.begin();
++it7;
@@ -70,8 +74,10 @@ void test01()
++it7;
const_iterator it8 = it7;
++it8;
- m1.erase(it7);
+ const_iterator it9 = m1.erase(it7);
VERIFY( m1.size() == 6 );
+ VERIFY( it9 == it8 );
+ VERIFY( *it9 == *it8 );
const_iterator it10 = m1.begin();
++it10;
@@ -80,11 +86,16 @@ void test01()
++it11;
++it11;
++it11;
- m1.erase(it10, it11);
+ const_iterator it12 = m1.erase(it10, it11);
VERIFY( m1.size() == 2 );
+ VERIFY( it12 == it11 );
+ VERIFY( *it12 == *it11 );
+ VERIFY( ++it12 == m1.end() );
- m1.erase(m1.begin(), m1.end());
+ iterator it13 = m1.erase(m1.begin(), m1.end());
VERIFY( m1.size() == 0 );
+ VERIFY( it13 == it12 );
+ VERIFY( it13 == m1.begin() );
}
int main()
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc
index 0e60b8a..0aa1a07 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/1.cc
@@ -113,7 +113,7 @@ void test01()
VERIFY( mm1.size() == 2 );
VERIFY( ++it10 == mm1.end() );
- mm1.erase(mm1.begin());
+ VERIFY( mm1.erase(mm1.begin()) != mm1.end() );
VERIFY( mm1.size() == 1 );
VERIFY( mm1.begin() == it11 );
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc
index 0fe4eee..545d082 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc
@@ -55,8 +55,10 @@ void test01()
++it1;
iterator it2 = it1;
++it2;
- mm1.erase(it1);
+ iterator it3 = mm1.erase(it1);
VERIFY( mm1.size() == 12 );
+ VERIFY( it3 == it2 );
+ VERIFY( *it3 == *it2 );
iterator it4 = mm1.begin();
++it4;
@@ -65,8 +67,10 @@ void test01()
iterator it5 = it4;
++it5;
++it5;
- mm1.erase(it4, it5);
+ iterator it6 = mm1.erase(it4, it5);
VERIFY( mm1.size() == 10 );
+ VERIFY( it6 == it5 );
+ VERIFY( *it6 == *it5 );
const_iterator it7 = mm1.begin();
++it7;
@@ -74,8 +78,10 @@ void test01()
++it7;
const_iterator it8 = it7;
++it8;
- mm1.erase(it7);
+ const_iterator it9 = mm1.erase(it7);
VERIFY( mm1.size() == 9 );
+ VERIFY( it9 == it8 );
+ VERIFY( *it9 == *it8 );
const_iterator it10 = mm1.begin();
++it10;
@@ -84,11 +90,15 @@ void test01()
++it11;
++it11;
++it11;
- mm1.erase(it10, it11);
+ const_iterator it12 = mm1.erase(it10, it11);
VERIFY( mm1.size() == 5 );
+ VERIFY( it12 == it11 );
+ VERIFY( *it12 == *it11 );
- mm1.erase(mm1.begin(), mm1.end());
+ iterator it13 = mm1.erase(mm1.begin(), mm1.end());
VERIFY( mm1.size() == 0 );
+ VERIFY( it13 == mm1.end() );
+ VERIFY( it13 == mm1.begin() );
}
int main()
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc
index fbd8899..9951838 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/1.cc
@@ -112,7 +112,7 @@ void test01()
VERIFY( ms1.size() == 2 );
VERIFY( ++it10 == ms1.end() );
- ms1.erase(ms1.begin());
+ VERIFY( ms1.erase(ms1.begin()) != ms1.end() );
VERIFY( ms1.size() == 1 );
VERIFY( ms1.begin() == it11 );
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
index 568862f..c5eea6e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
@@ -54,8 +54,10 @@ void test01()
++it1;
iterator it2 = it1;
++it2;
- ms1.erase(it1);
+ iterator it3 = ms1.erase(it1);
VERIFY( ms1.size() == 12 );
+ VERIFY( it3 == it2 );
+ VERIFY( *it3 == *it2 );
iterator it4 = ms1.begin();
++it4;
@@ -64,8 +66,10 @@ void test01()
iterator it5 = it4;
++it5;
++it5;
- ms1.erase(it4, it5);
+ iterator it6 = ms1.erase(it4, it5);
VERIFY( ms1.size() == 10 );
+ VERIFY( it6 == it5 );
+ VERIFY( *it6 == *it5 );
const_iterator it7 = ms1.begin();
++it7;
@@ -73,8 +77,10 @@ void test01()
++it7;
const_iterator it8 = it7;
++it8;
- ms1.erase(it7);
+ const_iterator it9 = ms1.erase(it7);
VERIFY( ms1.size() == 9 );
+ VERIFY( it9 == it8 );
+ VERIFY( *it9 == *it8 );
const_iterator it10 = ms1.begin();
++it10;
@@ -83,11 +89,15 @@ void test01()
++it11;
++it11;
++it11;
- ms1.erase(it10, it11);
+ const_iterator it12 = ms1.erase(it10, it11);
VERIFY( ms1.size() == 5 );
+ VERIFY( it12 == it11 );
+ VERIFY( *it12 == *it11 );
- ms1.erase(ms1.begin(), ms1.end());
+ iterator it13 = ms1.erase(ms1.begin(), ms1.end());
VERIFY( ms1.size() == 0 );
+ VERIFY( it13 == ms1.end() );
+ VERIFY( it13 == ms1.begin() );
}
int main()
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc
index 9bfa771..8f59773 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc
@@ -112,7 +112,7 @@ void test01()
VERIFY( s1.size() == 2 );
VERIFY( ++it10 == s1.end() );
- s1.erase(s1.begin());
+ VERIFY( s1.erase(s1.begin()) != s1.end() );
VERIFY( s1.size() == 1 );
VERIFY( s1.begin() == it11 );
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc
index 6d89208..b4cdde6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc
@@ -50,8 +50,10 @@ void test01()
++it1;
iterator it2 = it1;
++it2;
- s1.erase(it1);
+ iterator it3 = s1.erase(it1);
VERIFY( s1.size() == 9 );
+ VERIFY( it3 == it2 );
+ VERIFY( *it3 == *it2 );
iterator it4 = s1.begin();
++it4;
@@ -60,8 +62,10 @@ void test01()
iterator it5 = it4;
++it5;
++it5;
- s1.erase(it4, it5);
+ iterator it6 = s1.erase(it4, it5);
VERIFY( s1.size() == 7 );
+ VERIFY( it6 == it5 );
+ VERIFY( *it6 == *it5 );
const_iterator it7 = s1.begin();
++it7;
@@ -69,8 +73,10 @@ void test01()
++it7;
const_iterator it8 = it7;
++it8;
- s1.erase(it7);
+ const_iterator it9 = s1.erase(it7);
VERIFY( s1.size() == 6 );
+ VERIFY( it9 == it8 );
+ VERIFY( *it9 == *it8 );
const_iterator it10 = s1.begin();
++it10;
@@ -79,11 +85,16 @@ void test01()
++it11;
++it11;
++it11;
- s1.erase(it10, it11);
+ const_iterator it12 = s1.erase(it10, it11);
VERIFY( s1.size() == 2 );
+ VERIFY( it12 == it11 );
+ VERIFY( *it12 == *it11 );
+ VERIFY( ++it12 == s1.end() );
- s1.erase(s1.begin(), s1.end());
+ iterator it13 = s1.erase(s1.begin(), s1.end());
VERIFY( s1.size() == 0 );
+ VERIFY( it13 == s1.end() );
+ VERIFY( it13 == s1.begin() );
}
int main()
diff --git a/libstdc++-v3/testsuite/util/exception/safety.h b/libstdc++-v3/testsuite/util/exception/safety.h
index a17b755..aef58b6 100644
--- a/libstdc++-v3/testsuite/util/exception/safety.h
+++ b/libstdc++-v3/testsuite/util/exception/safety.h
@@ -285,9 +285,9 @@ namespace __gnu_test
typedef typename container_type::iterator iterator;
typedef typename container_type::const_iterator const_iterator;
- void (container_type::* _F_erase_point)(const_iterator);
- void (container_type::* _F_erase_range)(const_iterator,
- const_iterator);
+ iterator (container_type::* _F_erase_point)(const_iterator);
+ iterator (container_type::* _F_erase_range)(const_iterator,
+ const_iterator);
erase_base()
: _F_erase_point(&container_type::erase),
@@ -304,9 +304,9 @@ namespace __gnu_test
typedef typename container_type::iterator iterator;
typedef typename container_type::const_iterator const_iterator;
- void (container_type::* _F_erase_point)(const_iterator);
- void (container_type::* _F_erase_range)(const_iterator,
- const_iterator);
+ iterator (container_type::* _F_erase_point)(const_iterator);
+ iterator (container_type::* _F_erase_range)(const_iterator,
+ const_iterator);
erase_base()
: _F_erase_point(&container_type::erase),
@@ -321,9 +321,9 @@ namespace __gnu_test
typedef typename container_type::iterator iterator;
typedef typename container_type::const_iterator const_iterator;
- void (container_type::* _F_erase_point)(const_iterator);
- void (container_type::* _F_erase_range)(const_iterator,
- const_iterator);
+ iterator (container_type::* _F_erase_point)(const_iterator);
+ iterator (container_type::* _F_erase_range)(const_iterator,
+ const_iterator);
erase_base()
: _F_erase_point(&container_type::erase),
@@ -338,9 +338,9 @@ namespace __gnu_test
typedef typename container_type::iterator iterator;
typedef typename container_type::const_iterator const_iterator;
- void (container_type::* _F_erase_point)(const_iterator);
- void (container_type::* _F_erase_range)(const_iterator,
- const_iterator);
+ iterator (container_type::* _F_erase_point)(const_iterator);
+ iterator (container_type::* _F_erase_range)(const_iterator,
+ const_iterator);
erase_base()
: _F_erase_point(&container_type::erase),