diff options
Diffstat (limited to 'libcxx/test/std/containers/sequences')
5 files changed, 36 insertions, 0 deletions
diff --git a/libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp b/libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp index 787c2394b38..bd7db2651e8 100644 --- a/libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp +++ b/libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp @@ -34,5 +34,7 @@ int main() #if TEST_STD_VER >= 11 test<int>(min_allocator<int>()); test<NotConstructible>(min_allocator<NotConstructible>{}); + test<int>(explicit_allocator<int>()); + test<NotConstructible>(explicit_allocator<NotConstructible>{}); #endif } diff --git a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp index 352945c852d..531afb26c2c 100644 --- a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp +++ b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp @@ -37,5 +37,13 @@ int main() assert(c.get_allocator() == A()); assert(c.empty()); } + { + typedef explicit_allocator<NotConstructible> A; + typedef A::value_type T; + typedef std::forward_list<T, A> C; + C c(A{}); + assert(c.get_allocator() == A()); + assert(c.empty()); + } #endif } diff --git a/libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp b/libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp index 3c1c2ef166d..ce04eef5285 100644 --- a/libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp @@ -54,5 +54,15 @@ int main() assert(l.size() == 0); assert(std::distance(l.begin(), l.end()) == 0); } + { + std::list<int, explicit_allocator<int>> l; + assert(l.size() == 0); + assert(std::distance(l.begin(), l.end()) == 0); + } + { + std::list<int, explicit_allocator<int>> l((explicit_allocator<int>())); + assert(l.size() == 0); + assert(std::distance(l.begin(), l.end()) == 0); + } #endif } diff --git a/libcxx/test/std/containers/sequences/vector.bool/construct_default.pass.cpp b/libcxx/test/std/containers/sequences/vector.bool/construct_default.pass.cpp index 983d363d194..a18ba8fbaab 100644 --- a/libcxx/test/std/containers/sequences/vector.bool/construct_default.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector.bool/construct_default.pass.cpp @@ -66,5 +66,9 @@ int main() test0<std::vector<bool, min_allocator<bool>> >(); test1<std::vector<bool, min_allocator<bool> > >(min_allocator<bool>()); } + { + test0<std::vector<bool, explicit_allocator<bool>> >(); + test1<std::vector<bool, explicit_allocator<bool> > >(explicit_allocator<bool>()); + } #endif } diff --git a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp index e0542e751f4..4e6eb00cebb 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp @@ -86,5 +86,17 @@ int main() std::vector<int, min_allocator<int> > v; assert(v.empty()); } + + { + test0<std::vector<int, explicit_allocator<int>> >(); + test0<std::vector<NotConstructible, explicit_allocator<NotConstructible>> >(); + test1<std::vector<int, explicit_allocator<int> > >(explicit_allocator<int>{}); + test1<std::vector<NotConstructible, explicit_allocator<NotConstructible> > > + (explicit_allocator<NotConstructible>{}); + } + { + std::vector<int, explicit_allocator<int> > v; + assert(v.empty()); + } #endif } |