[PATCH] D28938: Implement P0513R0 - "Poisoning the Hash"

Eric Fiselier via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 19 22:21:07 PST 2017


EricWF created this revision.

Exactly what the title says.

This patch also adds a `std::hash<nullptr_t>` specialization in C++17, but it was not added by this paper and I can't find the actual paper that adds it.

See http://wg21.link/P0513R0 for more info.

If there are no comments in the next couple of days I'll commit this


https://reviews.llvm.org/D28938

Files:
  include/__functional_base
  include/functional
  include/memory
  include/optional
  include/utility
  include/variant
  test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
  test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp
  test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
  test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
  test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
  test/std/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp
  test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp
  test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp
  test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp
  test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp
  test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp
  test/std/utilities/optional/optional.hash/hash.pass.cpp
  test/std/utilities/template.bitset/bitset.hash/enabled_hash.pass.cpp
  test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp
  test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp
  test/std/utilities/variant/variant.hash/enabled_hash.pass.cpp
  test/std/utilities/variant/variant.hash/hash.pass.cpp
  test/support/deleter_types.h
  test/support/min_allocator.h
  test/support/poisoned_hash_helper.hpp
  test/support/test.support/test_poisoned_hash_helper.pass.cpp
  www/cxx1z_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28938.85099.patch
Type: text/x-patch
Size: 75681 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170120/59fe13ab/attachment-0001.bin>


More information about the cfe-commits mailing list