Commit Graph

6 Commits

Author SHA1 Message Date
Eric Fiselier
952eaecfc6 Implement P0513R0 - "Poisoning the Hash"
Summary:
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

Reviewers: mclow.lists, K-ballo, EricWF

Reviewed By: EricWF

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D28938

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292684 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 00:02:12 +00:00
Eric Fiselier
e013dacf4a Fix demangle helper after r286788
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292541 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-20 00:00:31 +00:00
Eric Fiselier
3678f7d6ee Fix another unused warning
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290470 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-24 00:28:19 +00:00
Eric Fiselier
11715ba8e2 Put C++ ABI headers in a special build directory instead of the top level.
This patch changes where the C++ ABI headers are put during the build. Previously
    they were put in the top level include directory (not the libc++ header directory).
    However that just polutes the top level directory. Instead this patch creates a special
    directory to put them in. The reason they can't be put under c++/v1 until after the build
    is because libc++ uses the in-source headers, so we can't add the include path of the libc++
    headers in the object dir.

    Additionally this patch teaches the test suite how to find the ABI headers,
    and adds a demangling utility to help debug tests with.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289195 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-09 09:31:01 +00:00
Eric Fiselier
c2141dfff2 Fix new ASAN failures
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@278736 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-15 20:50:01 +00:00
Eric Fiselier
b5fb8c9e39 Add tests for RTTI/exceptions test macros.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@273382 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-22 05:29:15 +00:00