summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/algorithms
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-06-26 19:48:29 +0000
committerEric Fiselier <eric@efcs.ca>2016-06-26 19:48:29 +0000
commit2e0e3df9da62aa55b95b197abb28c385a328c427 (patch)
treefc96c7c4c0fcbb18a21db614e478315346e4ad17 /libcxx/test/std/algorithms
parent3740071be01c10a387f12c01194e6cde2e8299bb (diff)
downloadbcm5719-llvm-2e0e3df9da62aa55b95b197abb28c385a328c427.tar.gz
bcm5719-llvm-2e0e3df9da62aa55b95b197abb28c385a328c427.zip
Add array bounds assertions to satisfy MSVC's /analyze flag. Patch from STL@microsoft.com
llvm-svn: 273820
Diffstat (limited to 'libcxx/test/std/algorithms')
-rw-r--r--libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp
index 7bb43461cba..62458eca930 100644
--- a/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp
@@ -22,13 +22,17 @@ void
test_larger_sorts(unsigned N, unsigned M)
{
assert(N != 0);
+ assert(N >= M);
int* array = new int[N];
for (int i = 0; i < N; ++i)
array[i] = i;
std::random_shuffle(array, array+N);
std::partial_sort(array, array+M, array+N);
for (int i = 0; i < M; ++i)
+ {
+ assert(i < N); // quiet analysis warnings
assert(array[i] == i);
+ }
delete [] array;
}
diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp
index 4b7c5ee64c2..0289cf8391f 100644
--- a/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp
@@ -35,13 +35,17 @@ void
test_larger_sorts(unsigned N, unsigned M)
{
assert(N != 0);
+ assert(N >= M);
int* array = new int[N];
for (int i = 0; i < N; ++i)
array[i] = i;
std::random_shuffle(array, array+N);
std::partial_sort(array, array+M, array+N, std::greater<int>());
for (int i = 0; i < M; ++i)
+ {
+ assert(i < N); // quiet analysis warnings
assert(array[i] == N-i-1);
+ }
delete [] array;
}
OpenPOWER on IntegriCloud