summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/containers/sequences/list
diff options
context:
space:
mode:
authorStephan T. Lavavej <stl@exchange.microsoft.com>2016-10-27 21:25:12 +0000
committerStephan T. Lavavej <stl@exchange.microsoft.com>2016-10-27 21:25:12 +0000
commit50b80c36fab3baae5b51182c7a799cc8eb17bfdd (patch)
treea93c9b58d7497510d6faf1a9124430d66936257f /libcxx/test/std/containers/sequences/list
parentc0de9c9e40b3eb5c2422d72ff5e0e3962baa714b (diff)
downloadbcm5719-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')
-rw-r--r--libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp3
-rw-r--r--libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp3
-rw-r--r--libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp3
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();
OpenPOWER on IntegriCloud