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 Klauser TEST_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 Klauser int 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