2016-05-24 François Dumont <fdumont@gcc.gnu.org>
commit47609c1288298396ddac700fd80d25e72b92ffec
authorfdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 May 2016 20:55:57 +0000 (24 20:55 +0000)
committerfdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 May 2016 20:55:57 +0000 (24 20:55 +0000)
tree1c97ba8f330c8ef523c1b2d84d0113c5009687c4
parent752b5a4c8a456a858721c00d1ea27d2bd4459be9
2016-05-24  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
* include/bits/hashtable_policy.h
(_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
having load factor management.
(_Mask_range_hashing): New.
(__clp2): New.
(_Power2_rehash_policy): New.
(_Inserts<>): Remove last template parameter, _Unique_keys, so that
partial specializations only depend on whether iterators are constant
or not.
* testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
test new hash policy.
* testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
Likewise.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
Likewise.
* testsuite/23_containers/unordered_set/insert/hash_policy.cc:
Likewise.
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
Likewise.
* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
New.
* testsuite/performance/23_containers/insert/54075.cc: Add benchmark
using the new hash policy.
* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236669 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/hashtable_policy.h
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc [copied from libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc with 59% similarity]
libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/rehash.cc
libstdc++-v3/testsuite/23_containers/unordered_set/insert/hash_policy.cc
libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc
libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc
libstdc++-v3/testsuite/performance/23_containers/insert_erase/41975.cc