mirror of git://gcc.gnu.org/git/gcc.git
hashtable.cc (__access_protected_ctor): Define and use new type instead of _Hashtable_ebo_helper.
* include/bits/hashtable.cc (__access_protected_ctor): Define and use new type instead of _Hashtable_ebo_helper. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adjust line number. From-SVN: r204182
This commit is contained in:
parent
94b89bc0ea
commit
da2e699194
|
|
@ -1,3 +1,10 @@
|
||||||
|
2013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||||
|
|
||||||
|
* include/bits/hashtable.cc (__access_protected_ctor): Define and use
|
||||||
|
new type instead of _Hashtable_ebo_helper.
|
||||||
|
* testsuite/23_containers/unordered_set/
|
||||||
|
not_default_constructible_hash_neg.cc: Adjust line number.
|
||||||
|
|
||||||
2013-10-28 Tim Shen <timshen91@gmail.com>
|
2013-10-28 Tim Shen <timshen91@gmail.com>
|
||||||
|
|
||||||
* regex_executor.tcc: Add comments.
|
* regex_executor.tcc: Add comments.
|
||||||
|
|
|
||||||
|
|
@ -277,14 +277,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
"Functor used to map hash code to bucket index"
|
"Functor used to map hash code to bucket index"
|
||||||
" must be default constructible");
|
" must be default constructible");
|
||||||
|
|
||||||
|
// _Hash_code_base has a protected default constructor, so use this
|
||||||
|
// derived type to tell if it's usable.
|
||||||
|
struct __access_protected_ctor : __hash_code_base { };
|
||||||
|
|
||||||
// When hash codes are not cached local iterator inherits from
|
// When hash codes are not cached local iterator inherits from
|
||||||
// __hash_code_base above to compute node bucket index so it has to be
|
// __hash_code_base above to compute node bucket index so it has to be
|
||||||
// default constructible.
|
// default constructible.
|
||||||
static_assert(__if_hash_not_cached<
|
static_assert(__if_hash_not_cached<
|
||||||
is_default_constructible<
|
is_default_constructible<__access_protected_ctor>>::value,
|
||||||
// We use _Hashtable_ebo_helper to access the protected
|
|
||||||
// default constructor.
|
|
||||||
__detail::_Hashtable_ebo_helper<0, __hash_code_base, true>>>::value,
|
|
||||||
"Cache the hash code or make functors involved in hash code"
|
"Cache the hash code or make functors involved in hash code"
|
||||||
" and bucket index computation default constructible");
|
" and bucket index computation default constructible");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
// with this library; see the file COPYING3. If not see
|
// with this library; see the file COPYING3. If not see
|
||||||
// <http://www.gnu.org/licenses/>.
|
// <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
// { dg-error "default constructible" "" { target *-*-* } 283 }
|
// { dg-error "default constructible" "" { target *-*-* } 287 }
|
||||||
|
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue