2016-06-20 François Dumont <fdumont@gcc.gnu.org>
commitc30c91f8f072822115f7991e2addff22b7ae0b65
authorfdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Jun 2016 20:04:25 +0000 (20 20:04 +0000)
committerfdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Jun 2016 20:04:25 +0000 (20 20:04 +0000)
treec86343a665d22d10f0591ce6f4b23b371cb0f8fd
parentdbddef42687878bf9da43a294973b1a1f25af8a7
2016-06-20  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/71181
* include/tr1/hashtable_policy.h
(_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
dereferenceable to avoid check on lower_bound result.
(_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
(_Prime_rehash_policy::_M_need_rehash): Likewise.
* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
Always return a value greater than input value. Set _M_next_resize to
max value when reaching highest prime number.
* src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
being now useless.
* testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
(test02): New.
* testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
Fix indentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237617 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/tr1/hashtable_policy.h
libstdc++-v3/src/c++11/hashtable_c++0x.cc
libstdc++-v3/src/shared/hashtable-aux.cc
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc [copied from libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc with 56% similarity]
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc [copied from libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc with 70% similarity]
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc