https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71181
--- Comment #5 from François Dumont <fdumont at gcc dot gnu.org> --- Author: fdumont Date: Mon Jun 20 20:04:25 2016 New Revision: 237617 URL: https://gcc.gnu.org/viewcvs?rev=237617&root=gcc&view=rev Log: 2016-06-20 François Dumont <fdum...@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. Added: trunk/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/tr1/hashtable_policy.h trunk/libstdc++-v3/src/c++11/hashtable_c++0x.cc trunk/libstdc++-v3/src/shared/hashtable-aux.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc trunk/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc