This is a tiny patch to use the new __bool_constant helper in hashtable_policy.h instead of defining another identical alias.
Tested x86_64-linux, committed to trunk.
commit 3fa3e0af59fa4371f61e95eeaab240d3b974b62e Author: Jonathan Wakely <jwak...@redhat.com> Date: Wed Apr 16 18:20:30 2014 +0100 * include/bits/hashtable_policy.h: Use __bool_constant. diff --git a/libstdc++-v3/include/bits/hashtable_policy.h b/libstdc++-v3/include/bits/hashtable_policy.h index 1251ef0..14bcca6 100644 --- a/libstdc++-v3/include/bits/hashtable_policy.h +++ b/libstdc++-v3/include/bits/hashtable_policy.h @@ -81,7 +81,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Helper type used to detect whether the hash functor is noexcept. template <typename _Key, typename _Hash> - struct __is_noexcept_hash : std::integral_constant<bool, + struct __is_noexcept_hash : std::__bool_constant< noexcept(declval<const _Hash&>()(declval<const _Key&>()))> { }; @@ -211,9 +211,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<bool _Cache_hash_code, bool _Constant_iterators, bool _Unique_keys> struct _Hashtable_traits { - template<bool _Cond> - using __bool_constant = integral_constant<bool, _Cond>; - using __hash_cached = __bool_constant<_Cache_hash_code>; using __constant_iterators = __bool_constant<_Constant_iterators>; using __unique_keys = __bool_constant<_Unique_keys>;