summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2015-01-07 21:53:23 +0000
committerMarshall Clow <mclow.lists@gmail.com>2015-01-07 21:53:23 +0000
commitd95510ebba10e0d3e2d0adf352dfa5cae87b0756 (patch)
tree4be77b10cb51f633c7b6eb7878e9ce4af59ff0ee /libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
parent601fa8d824de4cc2cbc42c422b25fbdfe3b7dd32 (diff)
downloadbcm5719-llvm-d95510ebba10e0d3e2d0adf352dfa5cae87b0756.tar.gz
bcm5719-llvm-d95510ebba10e0d3e2d0adf352dfa5cae87b0756.zip
libc++ implements its' hash objects as deriving from std::unary_function, and the tests test for that. STL @ MS pointed out that the standard doesn't requie these objects to derive from unary_function, and so the tests should not require that either. Change the tests to check for the embedded typedefs - which ARE required. No change to the library.
llvm-svn: 225403
Diffstat (limited to 'libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp')
-rw-r--r--libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
index e4e011295c9..a48394495e2 100644
--- a/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
+++ b/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
@@ -27,9 +27,11 @@ template <class T>
void
test()
{
- static_assert((std::is_base_of<std::unary_function<T, std::size_t>,
- std::hash<T> >::value), "");
- std::hash<T> h;
+ typedef std::hash<T> H;
+ static_assert((std::is_same<typename H::argument_type, T>::value), "" );
+ static_assert((std::is_same<typename H::result_type, std::size_t>::value), "" );
+ H h;
+
typedef typename std::remove_pointer<T>::type type;
type i;
type j;
OpenPOWER on IntegriCloud