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