diff options
| author | Stephan T. Lavavej <stl@exchange.microsoft.com> | 2016-10-27 21:25:12 +0000 |
|---|---|---|
| committer | Stephan T. Lavavej <stl@exchange.microsoft.com> | 2016-10-27 21:25:12 +0000 |
| commit | 50b80c36fab3baae5b51182c7a799cc8eb17bfdd (patch) | |
| tree | a93c9b58d7497510d6faf1a9124430d66936257f /libcxx/test/std/containers/sequences/list | |
| parent | c0de9c9e40b3eb5c2422d72ff5e0e3962baa714b (diff) | |
| download | bcm5719-llvm-50b80c36fab3baae5b51182c7a799cc8eb17bfdd.tar.gz bcm5719-llvm-50b80c36fab3baae5b51182c7a799cc8eb17bfdd.zip | |
[PATCH] D25483: [libcxx] [test] Fix non-Standard assumptions about how many elements are allocated
llvm-svn: 285346
Diffstat (limited to 'libcxx/test/std/containers/sequences/list')
3 files changed, 6 insertions, 3 deletions
diff --git a/libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp b/libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp index aff13852150..3b3c2f7ef1a 100644 --- a/libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp @@ -43,7 +43,8 @@ int main() } { int a[] = {0, 1, 2, 3}; - std::list<int, limited_allocator<int, sizeof(a)/sizeof(a[0])> > l(input_iterator<const int*>(a), + // Add 2 for implementations that dynamically allocate a sentinel node and container proxy. + std::list<int, limited_allocator<int, sizeof(a)/sizeof(a[0]) + 2> > l(input_iterator<const int*>(a), input_iterator<const int*>(a + sizeof(a)/sizeof(a[0]))); assert(l.size() == sizeof(a)/sizeof(a[0])); assert(std::distance(l.begin(), l.end()) == sizeof(a)/sizeof(a[0])); diff --git a/libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp b/libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp index 4b298bd928d..317be0b2401 100644 --- a/libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp @@ -48,7 +48,8 @@ int main() assert(*i == 0); } { - std::list<int, limited_allocator<int, 3> > l(3); + // Add 2 for implementations that dynamically allocate a sentinel node and container proxy. + std::list<int, limited_allocator<int, 3 + 2> > l(3); assert(l.size() == 3); assert(std::distance(l.begin(), l.end()) == 3); std::list<int>::const_iterator i = l.begin(); diff --git a/libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp b/libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp index c989d581558..d590626d50f 100644 --- a/libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp @@ -42,7 +42,8 @@ int main() assert(*i == 2); } { - std::list<int, limited_allocator<int, 3> > l(3, 2); + // Add 2 for implementations that dynamically allocate a sentinel node and container proxy. + std::list<int, limited_allocator<int, 3 + 2> > l(3, 2); assert(l.size() == 3); assert(std::distance(l.begin(), l.end()) == 3); std::list<int>::const_iterator i = l.begin(); |

