Hi, tested make check/check-debug on x86_64-linux, committed to mainline.
Thanks, Paolo. /////////////////////
2013-04-25 Paolo Carlini <paolo.carl...@oracle.com> PR libstdc++/57065 * include/debug/unordered_map (unordered_map, unordered_multimap): Fix default allocator type. * include/profile/unordered_map (unordered_map, unordered_multimap): Likewise. * include/bits/unordered_map.h: Fix comments.
Index: include/bits/unordered_map.h =================================================================== --- include/bits/unordered_map.h (revision 198275) +++ include/bits/unordered_map.h (working copy) @@ -75,12 +75,13 @@ * * @ingroup unordered_associative_containers * - * @tparam _Key Type of key objects. - * @tparam _Tp Type of mapped objects. - * @tparam _Hash Hashing function object type, defaults to hash<_Value>. - * @tparam _Pred Predicate function object type, defaults - * to equal_to<_Value>. - * @tparam _Alloc Allocator type, defaults to allocator<_Key>. + * @tparam _Key Type of key objects. + * @tparam _Tp Type of mapped objects. + * @tparam _Hash Hashing function object type, defaults to hash<_Value>. + * @tparam _Pred Predicate function object type, defaults + * to equal_to<_Value>. + * @tparam _Alloc Allocator type, defaults to + * std::allocator<std::pair<const _Key, _Tp>>. * * Meets the requirements of a <a href="tables.html#65">container</a>, and * <a href="tables.html#xx">unordered associative container</a> @@ -786,12 +787,13 @@ * * @ingroup unordered_associative_containers * - * @tparam _Key Type of key objects. - * @tparam _Tp Type of mapped objects. - * @tparam _Hash Hashing function object type, defaults to hash<_Value>. - * @tparam _Pred Predicate function object type, defaults - * to equal_to<_Value>. - * @tparam _Alloc Allocator type, defaults to allocator<_Key>. + * @tparam _Key Type of key objects. + * @tparam _Tp Type of mapped objects. + * @tparam _Hash Hashing function object type, defaults to hash<_Value>. + * @tparam _Pred Predicate function object type, defaults + * to equal_to<_Value>. + * @tparam _Alloc Allocator type, defaults to + * std::allocator<std::pair<const _Key, _Tp>>. * * Meets the requirements of a <a href="tables.html#65">container</a>, and * <a href="tables.html#xx">unordered associative container</a> Index: include/debug/unordered_map =================================================================== --- include/debug/unordered_map (revision 198275) +++ include/debug/unordered_map (working copy) @@ -46,7 +46,7 @@ template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, - typename _Alloc = std::allocator<_Key> > + typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > class unordered_map : public _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>, public __gnu_debug::_Safe_unordered_container<unordered_map<_Key, _Tp, @@ -500,7 +500,7 @@ template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, - typename _Alloc = std::allocator<_Key> > + typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > class unordered_multimap : public _GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>, Index: include/profile/unordered_map =================================================================== --- include/profile/unordered_map (revision 198275) +++ include/profile/unordered_map (working copy) @@ -44,9 +44,9 @@ { /// Class std::unordered_map wrapper with performance instrumentation. template<typename _Key, typename _Tp, - typename _Hash = std::hash<_Key>, + typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, - typename _Alloc = std::allocator<_Key> > + typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > class unordered_map : public _GLIBCXX_STD_BASE { @@ -346,9 +346,9 @@ /// Class std::unordered_multimap wrapper with performance instrumentation. template<typename _Key, typename _Tp, - typename _Hash = std::hash<_Key>, + typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, - typename _Alloc = std::allocator<_Key> > + typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > class unordered_multimap : public _GLIBCXX_STD_BASE {