summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2000-11-17 22:59:03 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2000-11-17 22:59:03 +0000
commit3502dc1bba0c9d421fcec94ee6b7ab73fd794c40 (patch)
tree74716b85b3c8eb3ebc1e1fd1e60ec543afb8344e
parent7838384b981f8da1f5c63ccdb6fcca74eb955acd (diff)
downloadppe42-gcc-3502dc1bba0c9d421fcec94ee6b7ab73fd794c40.tar.gz
ppe42-gcc-3502dc1bba0c9d421fcec94ee6b7ab73fd794c40.zip
2000-11-17 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* include/bits/stl_tree.h: Overload operators == and != to be able to handle the case (const_iterator,iterator) and (iterator,const_iterator), thus fixing libstdc++/737 and the like. * testsuite/23_containers/map_operators.cc (test02): New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37532 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/testsuite/23_containers/map_operators.cc28
2 files changed, 29 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index af4c6975f50..1324f10dd51 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -3,7 +3,8 @@
* include/bits/stl_tree.h: Overload operators == and != to be able
to handle the case (const_iterator,iterator) and
(iterator,const_iterator), thus fixing libstdc++/737 and the like.
-
+ * testsuite/23_containers/map_operators.cc (test02): New tests.
+
2000-11-17 Loren J. Rittle <ljrittle@acm.org>
* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Correct last patch
diff --git a/libstdc++-v3/testsuite/23_containers/map_operators.cc b/libstdc++-v3/testsuite/23_containers/map_operators.cc
index 4a46d811ff1..21b62ed5e4e 100644
--- a/libstdc++-v3/testsuite/23_containers/map_operators.cc
+++ b/libstdc++-v3/testsuite/23_containers/map_operators.cc
@@ -22,11 +22,12 @@
#include <map>
#include <string>
+#include <iostream>
// map and set
// libstdc++/86: map & set iterator comparisons are not type-safe
// XXX this is XFAIL for the time being, ie this should not compile
-int main(void)
+void test01()
{
bool test = true;
std::map<unsigned int, int> mapByIndex;
@@ -42,3 +43,28 @@ int main(void)
return 0;
}
+
+// http://sources.redhat.com/ml/libstdc++/2000-11/msg00093.html
+void test02()
+{
+ typedef std::map<int,const int> MapInt;
+
+ MapInt m;
+
+ for (unsigned i=0;i<10;++i)
+ m.insert(MapInt::value_type(i,i));
+
+ for (MapInt::const_iterator i=m.begin();i!=m.end();++i)
+ std::cerr << i->second << ' ';
+
+ for (MapInt::const_iterator i=m.begin();m.end()!=i;++i)
+ std::cerr << i->second << ' ';
+}
+
+int main()
+{
+ test01();
+ test02();
+
+ return 0;
+}
OpenPOWER on IntegriCloud