Fix http://llvm.org/bugs/show_bug.cgi?id=11461. Credit Alberto Ganesh Barbati.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@146345 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c00f75dc75
commit
d4cf215e08
@ -215,7 +215,11 @@ namespace __gnu_cxx {
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
template <class _Tp, class _Hash, bool = is_empty<_Hash>::value>
|
template <class _Tp, class _Hash, bool = is_empty<_Hash>::value
|
||||||
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_Hash)
|
||||||
|
#endif
|
||||||
|
>
|
||||||
class __hash_map_hasher
|
class __hash_map_hasher
|
||||||
: private _Hash
|
: private _Hash
|
||||||
{
|
{
|
||||||
@ -247,7 +251,11 @@ public:
|
|||||||
{return __hash_(__x);}
|
{return __hash_(__x);}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp, class _Pred, bool = is_empty<_Pred>::value>
|
template <class _Tp, class _Pred, bool = is_empty<_Pred>::value
|
||||||
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_Pred)
|
||||||
|
#endif
|
||||||
|
>
|
||||||
class __hash_map_equal
|
class __hash_map_equal
|
||||||
: private _Pred
|
: private _Pred
|
||||||
{
|
{
|
||||||
|
@ -381,7 +381,11 @@ swap(multimap<Key, T, Compare, Allocator>& x,
|
|||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Compare, bool = is_empty<_Compare>::value>
|
template <class _Key, class _Tp, class _Compare, bool = is_empty<_Compare>::value
|
||||||
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_Compare)
|
||||||
|
#endif
|
||||||
|
>
|
||||||
class __map_value_compare
|
class __map_value_compare
|
||||||
: private _Compare
|
: private _Compare
|
||||||
{
|
{
|
||||||
|
@ -1848,8 +1848,16 @@ public:
|
|||||||
|
|
||||||
template <class _T1, class _T2, bool = is_same<typename remove_cv<_T1>::type,
|
template <class _T1, class _T2, bool = is_same<typename remove_cv<_T1>::type,
|
||||||
typename remove_cv<_T2>::type>::value,
|
typename remove_cv<_T2>::type>::value,
|
||||||
bool = is_empty<_T1>::value,
|
bool = is_empty<_T1>::value
|
||||||
bool = is_empty<_T2>::value>
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_T1)
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
bool = is_empty<_T2>::value
|
||||||
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_T2)
|
||||||
|
#endif
|
||||||
|
>
|
||||||
struct __libcpp_compressed_pair_switch;
|
struct __libcpp_compressed_pair_switch;
|
||||||
|
|
||||||
template <class _T1, class _T2, bool IsSame>
|
template <class _T1, class _T2, bool IsSame>
|
||||||
|
@ -146,7 +146,11 @@ public:
|
|||||||
|
|
||||||
// __tuple_leaf
|
// __tuple_leaf
|
||||||
|
|
||||||
template <size_t _Ip, class _Hp, bool=is_empty<_Hp>::value>
|
template <size_t _Ip, class _Hp, bool=is_empty<_Hp>::value
|
||||||
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_Hp)
|
||||||
|
#endif
|
||||||
|
>
|
||||||
class __tuple_leaf;
|
class __tuple_leaf;
|
||||||
|
|
||||||
template <size_t _Ip, class _Hp, bool _Ep>
|
template <size_t _Ip, class _Hp, bool _Ep>
|
||||||
|
@ -325,7 +325,11 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
|
|||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||||
|
|
||||||
template <class _Tp, class _Hash, bool = is_empty<_Hash>::value>
|
template <class _Tp, class _Hash, bool = is_empty<_Hash>::value
|
||||||
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_Hash)
|
||||||
|
#endif
|
||||||
|
>
|
||||||
class __unordered_map_hasher
|
class __unordered_map_hasher
|
||||||
: private _Hash
|
: private _Hash
|
||||||
{
|
{
|
||||||
@ -371,7 +375,11 @@ public:
|
|||||||
{return __hash_(__x);}
|
{return __hash_(__x);}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp, class _Pred, bool = is_empty<_Pred>::value>
|
template <class _Tp, class _Pred, bool = is_empty<_Pred>::value
|
||||||
|
#if __has_feature(is_final)
|
||||||
|
&& !__is_final(_Pred)
|
||||||
|
#endif
|
||||||
|
>
|
||||||
class __unordered_map_equal
|
class __unordered_map_equal
|
||||||
: private _Pred
|
: private _Pred
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user