1f9127593SEric Fiselier //===----------------------------------------------------------------------===// 2f9127593SEric Fiselier // 357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6f9127593SEric Fiselier // 7f9127593SEric Fiselier //===----------------------------------------------------------------------===// 8f9127593SEric Fiselier 931cbe0f2SLouis Dionne // UNSUPPORTED: c++03 10f9127593SEric Fiselier 11f9127593SEric Fiselier // <vector> 12f9127593SEric Fiselier 13f9127593SEric Fiselier // Test that <vector> provides all of the arithmetic, enum, and pointer 14f9127593SEric Fiselier // hash specializations. 15f9127593SEric Fiselier 16f9127593SEric Fiselier #include <vector> 17f9127593SEric Fiselier 18cc89063bSNico Weber #include "poisoned_hash_helper.h" 197fc6a556SMarshall Clow #include "test_macros.h" 20f9127593SEric Fiselier #include "min_allocator.h" 21f9127593SEric Fiselier test()22*c74059c5SNikolas KlauserTEST_CONSTEXPR_CXX20 bool test() { 23f9127593SEric Fiselier test_hash_enabled_for_type<std::vector<bool> >(); 24f9127593SEric Fiselier test_hash_enabled_for_type<std::vector<bool, min_allocator<bool>>>(); 25*c74059c5SNikolas Klauser 26*c74059c5SNikolas Klauser return true; 27f9127593SEric Fiselier } 282df59c50SJF Bastien main(int,char **)29*c74059c5SNikolas Klauserint main(int, char**) { 30*c74059c5SNikolas Klauser test_library_hash_specializations_available(); 31*c74059c5SNikolas Klauser test(); 32*c74059c5SNikolas Klauser #if TEST_STD_VER > 17 33*c74059c5SNikolas Klauser static_assert(test()); 34*c74059c5SNikolas Klauser #endif 35*c74059c5SNikolas Klauser 362df59c50SJF Bastien return 0; 37f9127593SEric Fiselier } 38