From 263722f40f46c98c2a24c6b1f102c3875803502b Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Tue, 7 Feb 2017 23:13:10 +0000 Subject: [PATCH] [asan] replace std::random_shuffle with std::shuffle in tests since std::random_shuffle is being deprecated in C++17; NFC llvm-svn: 294370 --- .../lib/sanitizer_common/tests/sanitizer_allocator_test.cc | 4 +++- .../lib/sanitizer_common/tests/sanitizer_bitvector_test.cc | 4 +++- compiler-rt/test/asan/TestCases/Linux/release_to_os_test.cc | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc b/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc index 8df5efda674e..e14517fca518 100644 --- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc +++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc @@ -23,6 +23,7 @@ #include #include #include +#include #include using namespace __sanitizer; @@ -539,6 +540,7 @@ void TestCombinedAllocator() { Allocator; Allocator *a = new Allocator; a->Init(/* may_return_null */ true, kReleaseToOSIntervalNever); + std::mt19937 r; AllocatorCache cache; memset(&cache, 0, sizeof(cache)); @@ -570,7 +572,7 @@ void TestCombinedAllocator() { allocated.push_back(x); } - random_shuffle(allocated.begin(), allocated.end()); + std::shuffle(allocated.begin(), allocated.end(), r); for (uptr i = 0; i < kNumAllocs; i++) { void *x = allocated[i]; diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cc b/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cc index 706b4c58968e..dec5459b2515 100644 --- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cc +++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cc @@ -19,6 +19,7 @@ #include #include +#include #include using namespace __sanitizer; @@ -75,6 +76,7 @@ void Print(const set &s) { template void TestBitVector(uptr expected_size) { + std::mt19937 r; BV bv, bv1, t_bv; EXPECT_EQ(expected_size, BV::kSize); bv.clear(); @@ -112,7 +114,7 @@ void TestBitVector(uptr expected_size) { for (uptr it = 0; it < 30; it++) { // iota for (size_t j = 0; j < bits.size(); j++) bits[j] = j; - random_shuffle(bits.begin(), bits.end()); + std::shuffle(bits.begin(), bits.end(), r); set s, s1, t_s; bv.clear(); bv1.clear(); diff --git a/compiler-rt/test/asan/TestCases/Linux/release_to_os_test.cc b/compiler-rt/test/asan/TestCases/Linux/release_to_os_test.cc index 26402167d6b1..c85bcbb7f15b 100644 --- a/compiler-rt/test/asan/TestCases/Linux/release_to_os_test.cc +++ b/compiler-rt/test/asan/TestCases/Linux/release_to_os_test.cc @@ -11,6 +11,7 @@ #include #include #include +#include #include @@ -19,9 +20,10 @@ void MallocReleaseStress() { const size_t kAllocSize = 100; const size_t kNumIter = 100; uintptr_t *chunks[kNumChunks] = {0}; + std::mt19937 r; for (size_t iter = 0; iter < kNumIter; iter++) { - std::random_shuffle(chunks, chunks + kNumChunks); + std::shuffle(chunks, chunks + kNumChunks, r); size_t to_replace = rand() % kNumChunks; for (size_t i = 0; i < kNumChunks; i++) { if (chunks[i])