[libc++] Const qualify __gnu_cxx::hash_map<>::const_iterator::pointer type.

Differential Revision: http://llvm-reviews.chandlerc.com/D2811

llvm-svn: 202749
This commit is contained in:
Peter Collingbourne 2014-03-03 19:50:01 +00:00
parent 9c794c7a7c
commit 99aadbdb7d
2 changed files with 20 additions and 2 deletions

View File

@ -430,9 +430,9 @@ public:
typedef const value_type& reference;
typedef typename __pointer_traits::template
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
rebind<value_type>
rebind<const value_type>
#else
rebind<value_type>::other
rebind<const value_type>::other
#endif
pointer;

View File

@ -0,0 +1,18 @@
//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include <ext/hash_map>
int main()
{
__gnu_cxx::hash_map<int, int> m;
m[1] = 1;
const __gnu_cxx::hash_map<int, int> &cm = m;
cm.find(1)->second = 2; // error
}