History log of /external/libcxx/test/extensions/hash/specializations.fail.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9d3d032c7d9686fbd31c776f65155367d3e19dcd 06-Mar-2014 Peter Collingbourne <peter@pcc.me.uk> Do not derive __gnu_cxx::hash<T> from std::hash<T>.

Instead, define explicit specializations for the basic types listed in
the SGI documentation. This solves two problems:

1) Helps avoid silent ODR violations caused by the absence of a
user-supplied __gnu_cxx::hash specialization in cases where a std::hash
specialization exists (e.g. for std::string).

2) __gnu_cxx::hash semantics are slightly different to those of
std::hash (for example, the former may dereference a pointer argument)
so it is inappropriate for __gnu_cxx::hash to receive std::hash
specializations by default.

Differential Revision: http://llvm-reviews.chandlerc.com/D2747

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203070 91177308-0d34-0410-b5e6-96231b3b80d8