Commit a13ab2bc by Paolo Carlini Committed by Paolo Carlini

hashtable_policy.h: Revert libstdc++/53067 quick hacks thanks to the resolution of c++/51213.

2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
	hacks thanks to the resolution of c++/51213.

From-SVN: r192380
parent bd37e09f
2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
hacks thanks to the resolution of c++/51213.
2012-10-11 Paolo Carlini <paolo.carlini@oracle.com> 2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/bitset/45713.cc: Tweak. * testsuite/23_containers/bitset/45713.cc: Tweak.
......
...@@ -921,8 +921,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -921,8 +921,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Specialization using EBO. /// Specialization using EBO.
template<int _Nm, typename _Tp> template<int _Nm, typename _Tp>
struct _Hashtable_ebo_helper<_Nm, _Tp, true> struct _Hashtable_ebo_helper<_Nm, _Tp, true>
// See PR53067. : private _Tp
: public _Tp
{ {
_Hashtable_ebo_helper() = default; _Hashtable_ebo_helper() = default;
...@@ -989,9 +988,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -989,9 +988,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Key, typename _Value, typename _ExtractKey, template<typename _Key, typename _Value, typename _ExtractKey,
typename _H1, typename _H2, typename _Hash> typename _H1, typename _H2, typename _Hash>
struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false> struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>
// See PR53067. : private _Hashtable_ebo_helper<0, _ExtractKey>,
: public _Hashtable_ebo_helper<0, _ExtractKey>, private _Hashtable_ebo_helper<1, _Hash>
public _Hashtable_ebo_helper<1, _Hash>
{ {
private: private:
typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey; typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey;
...@@ -1066,10 +1064,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1066,10 +1064,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2> typename _H1, typename _H2>
struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2,
_Default_ranged_hash, false> _Default_ranged_hash, false>
// See PR53067. : private _Hashtable_ebo_helper<0, _ExtractKey>,
: public _Hashtable_ebo_helper<0, _ExtractKey>, private _Hashtable_ebo_helper<1, _H1>,
public _Hashtable_ebo_helper<1, _H1>, private _Hashtable_ebo_helper<2, _H2>
public _Hashtable_ebo_helper<2, _H2>
{ {
private: private:
typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey; typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey;
...@@ -1150,10 +1147,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1150,10 +1147,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2> typename _H1, typename _H2>
struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2,
_Default_ranged_hash, true> _Default_ranged_hash, true>
// See PR53067. : private _Hashtable_ebo_helper<0, _ExtractKey>,
: public _Hashtable_ebo_helper<0, _ExtractKey>, private _Hashtable_ebo_helper<1, _H1>,
public _Hashtable_ebo_helper<1, _H1>, private _Hashtable_ebo_helper<2, _H2>
public _Hashtable_ebo_helper<2, _H2>
{ {
private: private:
typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey; typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey;
...@@ -1272,8 +1268,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1272,8 +1268,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2, typename _Hash> typename _H1, typename _H2, typename _Hash>
struct _Local_iterator_base<_Key, _Value, _ExtractKey, struct _Local_iterator_base<_Key, _Value, _ExtractKey,
_H1, _H2, _Hash, true> _H1, _H2, _Hash, true>
// See PR53067. : private _H2
: public _H2
{ {
_Local_iterator_base() = default; _Local_iterator_base() = default;
_Local_iterator_base(_Hash_node<_Value, true>* __p, _Local_iterator_base(_Hash_node<_Value, true>* __p,
...@@ -1305,9 +1300,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1305,9 +1300,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2, typename _Hash> typename _H1, typename _H2, typename _Hash>
struct _Local_iterator_base<_Key, _Value, _ExtractKey, struct _Local_iterator_base<_Key, _Value, _ExtractKey,
_H1, _H2, _Hash, false> _H1, _H2, _Hash, false>
// See PR53067. : private _Hash_code_base<_Key, _Value, _ExtractKey,
: public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>
_H1, _H2, _Hash, false>
{ {
_Local_iterator_base() = default; _Local_iterator_base() = default;
_Local_iterator_base(_Hash_node<_Value, false>* __p, _Local_iterator_base(_Hash_node<_Value, false>* __p,
...@@ -1470,10 +1464,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1470,10 +1464,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _ExtractKey, typename _Equal, typename _ExtractKey, typename _Equal,
typename _H1, typename _H2, typename _Hash, typename _Traits> typename _H1, typename _H2, typename _Hash, typename _Traits>
struct _Hashtable_base struct _Hashtable_base
// See PR53067. : public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash,
: public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, _Traits::__hash_cached::value>,
_Traits::__hash_cached::value>, private _Hashtable_ebo_helper<0, _Equal>
public _Hashtable_ebo_helper<0, _Equal>
{ {
public: public:
typedef _Key key_type; typedef _Key key_type;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment