1*f9127593SEric Fiselier //===----------------------------------------------------------------------===//
2*f9127593SEric Fiselier //
3*f9127593SEric Fiselier //                     The LLVM Compiler Infrastructure
4*f9127593SEric Fiselier //
5*f9127593SEric Fiselier // This file is dual licensed under the MIT and the University of Illinois Open
6*f9127593SEric Fiselier // Source Licenses. See LICENSE.TXT for details.
7*f9127593SEric Fiselier //
8*f9127593SEric Fiselier //===----------------------------------------------------------------------===//
9*f9127593SEric Fiselier 
10*f9127593SEric Fiselier // UNSUPPORTED: c++98, c++03
11*f9127593SEric Fiselier 
12*f9127593SEric Fiselier // <string>
13*f9127593SEric Fiselier 
14*f9127593SEric Fiselier // Test that <string> provides all of the arithmetic, enum, and pointer
15*f9127593SEric Fiselier // hash specializations.
16*f9127593SEric Fiselier 
17*f9127593SEric Fiselier #include <string>
18*f9127593SEric Fiselier 
19*f9127593SEric Fiselier #include "poisoned_hash_helper.hpp"
20*f9127593SEric Fiselier 
21*f9127593SEric Fiselier int main() {
22*f9127593SEric Fiselier   test_library_hash_specializations_available();
23*f9127593SEric Fiselier   {
24*f9127593SEric Fiselier     test_hash_enabled_for_type<std::string>();
25*f9127593SEric Fiselier     test_hash_enabled_for_type<std::wstring>();
26*f9127593SEric Fiselier #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
27*f9127593SEric Fiselier     test_hash_enabled_for_type<std::u16string>();
28*f9127593SEric Fiselier     test_hash_enabled_for_type<std::u32string>();
29*f9127593SEric Fiselier #endif
30*f9127593SEric Fiselier   }
31*f9127593SEric Fiselier }
32