Marshall Clow's fix for Bug 8421.

llvm-svn: 122825
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: ab061a656dcae92dadb874a872b7c90bac7d13ca
diff --git a/CREDITS.TXT b/CREDITS.TXT
index 7f3de74..a5a9b41 100644
--- a/CREDITS.TXT
+++ b/CREDITS.TXT
@@ -12,4 +12,7 @@
 E: hhinnant@apple.com
 D: Architect and primary author of libc++
 
-
+N: Marshall Clow
+E: marshall@idio.com
+E: mclow@qualcomm.com
+D: Minor patches and bug fixes.
diff --git a/include/map b/include/map
index 64c2808..387c6b5 100644
--- a/include/map
+++ b/include/map
@@ -350,7 +350,7 @@
 class __map_value_compare
     : private _Compare
 {
-    typedef pair<_Key, _Tp> _P;
+    typedef pair<typename std::remove_const<_Key>::type, _Tp> _P;
     typedef pair<const _Key, _Tp> _CP;
 public:
     _LIBCPP_INLINE_VISIBILITY
@@ -393,7 +393,7 @@
 {
     _Compare comp;
 
-    typedef pair<_Key, _Tp> _P;
+    typedef pair<typename std::remove_const<_Key>::type, _Tp> _P;
     typedef pair<const _Key, _Tp> _CP;
 
 public: