18d25da78SKonstantin Boyarinov //===----------------------------------------------------------------------===// 28d25da78SKonstantin Boyarinov // 38d25da78SKonstantin Boyarinov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 48d25da78SKonstantin Boyarinov // See https://llvm.org/LICENSE.txt for license information. 58d25da78SKonstantin Boyarinov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 68d25da78SKonstantin Boyarinov // 78d25da78SKonstantin Boyarinov //===----------------------------------------------------------------------===// 88d25da78SKonstantin Boyarinov 98d25da78SKonstantin Boyarinov // <vector> 108d25da78SKonstantin Boyarinov 118d25da78SKonstantin Boyarinov // class vector<bool> 128d25da78SKonstantin Boyarinov 138d25da78SKonstantin Boyarinov // allocator_type get_allocator() const 148d25da78SKonstantin Boyarinov 158d25da78SKonstantin Boyarinov #include <vector> 168d25da78SKonstantin Boyarinov #include <cassert> 178d25da78SKonstantin Boyarinov 188d25da78SKonstantin Boyarinov #include "test_allocator.h" 198d25da78SKonstantin Boyarinov #include "test_macros.h" 208d25da78SKonstantin Boyarinov test()21*98d3d5b5SNikolas KlauserTEST_CONSTEXPR_CXX20 bool test() { 228d25da78SKonstantin Boyarinov { 2393230ac1SCasey Carter std::allocator<bool> alloc; 248d25da78SKonstantin Boyarinov const std::vector<bool> vb(alloc); 258d25da78SKonstantin Boyarinov assert(vb.get_allocator() == alloc); 268d25da78SKonstantin Boyarinov } 278d25da78SKonstantin Boyarinov { 2893230ac1SCasey Carter other_allocator<bool> alloc(1); 2993230ac1SCasey Carter const std::vector<bool, other_allocator<bool> > vb(alloc); 308d25da78SKonstantin Boyarinov assert(vb.get_allocator() == alloc); 318d25da78SKonstantin Boyarinov } 328d25da78SKonstantin Boyarinov 33*98d3d5b5SNikolas Klauser return true; 34*98d3d5b5SNikolas Klauser } 35*98d3d5b5SNikolas Klauser main(int,char **)36*98d3d5b5SNikolas Klauserint main(int, char**) { 37*98d3d5b5SNikolas Klauser test(); 38*98d3d5b5SNikolas Klauser #if TEST_STD_VER > 17 39*98d3d5b5SNikolas Klauser static_assert(test()); 40*98d3d5b5SNikolas Klauser #endif 41*98d3d5b5SNikolas Klauser 428d25da78SKonstantin Boyarinov return 0; 438d25da78SKonstantin Boyarinov } 44