summaryrefslogtreecommitdiffstats
path: root/libcxx/test
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2019-04-29 15:38:07 +0000
committerMarshall Clow <mclow.lists@gmail.com>2019-04-29 15:38:07 +0000
commit8a02f8d92801e040efecd595be9d2f2dcfaca164 (patch)
tree159ab6253f9626347c074aafe790b88da08eed0d /libcxx/test
parent2c0d5043a753754949926019f8de92984ec9c181 (diff)
downloadbcm5719-llvm-8a02f8d92801e040efecd595be9d2f2dcfaca164.tar.gz
bcm5719-llvm-8a02f8d92801e040efecd595be9d2f2dcfaca164.zip
Add tests specifically for LWG2164. We already did this; but now we have tests. NFC
llvm-svn: 359458
Diffstat (limited to 'libcxx/test')
-rw-r--r--libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp11
-rw-r--r--libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp12
2 files changed, 23 insertions, 0 deletions
diff --git a/libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp
index 435be207bb4..aacdb388595 100644
--- a/libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp
+++ b/libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp
@@ -145,5 +145,16 @@ int main(int, char**)
assert(is_contiguous_container_asan_correct(c));
}
+ { // LWG 2164
+ int arr[] = {0, 1, 2, 3, 4};
+ int sz = 5;
+ std::vector<int> c(arr, arr+sz);
+ while (c.size() < c.capacity())
+ c.push_back(sz++);
+ c.emplace_back(c.front());
+ assert(c.back() == 0);
+ for (int i = 0; i < sz; ++i)
+ assert(c[i] == i);
+ }
return 0;
}
diff --git a/libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp
index db2337c276e..386328405d0 100644
--- a/libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp
+++ b/libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp
@@ -38,5 +38,17 @@ int main(int, char**)
}
#endif
+ { // LWG 526
+ int arr[] = {0, 1, 2, 3, 4};
+ int sz = 5;
+ std::vector<int> c(arr, arr+sz);
+ while (c.size() < c.capacity())
+ c.push_back(sz++);
+ c.push_back(c.front());
+ assert(c.back() == 0);
+ for (int i = 0; i < sz; ++i)
+ assert(c[i] == i);
+ }
+
return 0;
}
OpenPOWER on IntegriCloud