re PR libstdc++/23053 (Const-correctness issue in TR1 hashtable)
2005-07-25 Dave Odell <evilalias@hotmail.com> PR libstdc++/23053 * include/tr1/hashtable (hashtable<>::find_node): Const-ify. * testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New. From-SVN: r102372
This commit is contained in:
parent
bfa653b399
commit
7f50ddeef6
3 changed files with 50 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-07-25 Dave Odell <evilalias@hotmail.com>
|
||||
|
||||
PR libstdc++/23053
|
||||
* include/tr1/hashtable (hashtable<>::find_node): Const-ify.
|
||||
* testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
|
||||
|
||||
2005-07-25 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
PR libstdc++/22515
|
||||
|
|
|
@ -1055,14 +1055,14 @@ namespace tr1
|
|||
Insert_Return_Type;
|
||||
|
||||
node*
|
||||
find_node(node* p, const key_type& k, typename hashtable::hash_code_t c);
|
||||
find_node(node* p, const key_type& k,
|
||||
typename hashtable::hash_code_t c) const;
|
||||
|
||||
std::pair<iterator, bool>
|
||||
insert(const value_type&, std::tr1::true_type);
|
||||
|
||||
iterator
|
||||
insert
|
||||
(const value_type&, std::tr1::false_type);
|
||||
insert(const value_type&, std::tr1::false_type);
|
||||
|
||||
public: // Insert and erase
|
||||
Insert_Return_Type
|
||||
|
@ -1464,7 +1464,8 @@ namespace tr1
|
|||
bool c, bool m, bool u>
|
||||
typename hashtable<K, V, A, Ex, Eq, H1, H2, H, RP, c, m, u>::node*
|
||||
hashtable<K, V, A, Ex, Eq, H1, H2, H, RP, c, m, u>::
|
||||
find_node(node* p, const key_type& k, typename hashtable::hash_code_t code)
|
||||
find_node(node* p, const key_type& k,
|
||||
typename hashtable::hash_code_t code) const
|
||||
{
|
||||
for ( ; p ; p = p->m_next)
|
||||
if (this->compare (k, code, p))
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
// { dg-do compile }
|
||||
|
||||
// Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
//
|
||||
// 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.
|
||||
|
||||
// 6.3 Unordered associative containers
|
||||
|
||||
#include <tr1/unordered_set>
|
||||
|
||||
// libstdc++/23053
|
||||
void test01()
|
||||
{
|
||||
std::tr1::unordered_set<int> s;
|
||||
|
||||
const std::tr1::unordered_set<int> &s_ref = s;
|
||||
|
||||
s_ref.find(27);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
test01();
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue