1 // 2000-09-07 bgarcia@laurelnetworks.com
3 // Copyright (C) 2000, 2001 Free Software Foundation, Inc.
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 2, or (at your option)
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
21 // 23.3.4 template class multiset
28 // libstdc++/86: map & set iterator comparisons are not type-safe
29 // XXX this is XFAIL for the time being, ie this should not compile
31 // Just try to compile
37 std::map
<unsigned int, int> mapByIndex
;
38 std::map
<std::string
, unsigned> mapByName
;
40 mapByIndex
.insert(std::pair
<unsigned, int>(0, 1));
41 mapByIndex
.insert(std::pair
<unsigned, int>(6, 5));
43 std::map
<unsigned, int>::iterator
itr(mapByIndex
.begin());
45 // NB: notice, it's not mapByIndex!!
46 test
&= itr
!= mapByName
.end(); // { dg-error ".*" "" { xfail *-*-* } }
47 test
&= itr
== mapByName
.end(); // { dg-error ".*" "" { xfail *-*-* } }
50 // http://gcc.gnu.org/ml/libstdc++/2000-11/msg00093.html
53 typedef std::map
<int,const int> MapInt
;
57 for (unsigned i
=0;i
<10;++i
)
58 m
.insert(MapInt::value_type(i
,i
));
60 for (MapInt::const_iterator i
=m
.begin();i
!=m
.end();++i
)
61 std::cerr
<< i
->second
<< ' ';
63 for (MapInt::const_iterator i
=m
.begin();m
.end()!=i
;++i
)
64 std::cerr
<< i
->second
<< ' ';