[libcxx-commits] [libcxx] bd8884f - [libc++] Remove additional uses of std::rand() missed by 63aeadb4849d
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Oct 29 08:11:46 PDT 2020
Author: Louis Dionne
Date: 2020-10-29T11:11:29-04:00
New Revision: bd8884f05e7586dd09aaab843c07361414343916
URL: https://github.com/llvm/llvm-project/commit/bd8884f05e7586dd09aaab843c07361414343916
DIFF: https://github.com/llvm/llvm-project/commit/bd8884f05e7586dd09aaab843c07361414343916.diff
LOG: [libc++] Remove additional uses of std::rand() missed by 63aeadb4849d
Added:
libcxx/test/std/utilities/template.bitset/bitset_test_cases.h
Modified:
libcxx/test/std/utilities/template.bitset/bitset.members/count.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/index.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/left_shift.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/not_all.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/right_shift.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/test.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.members/to_string.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.operators/op_and.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.operators/op_not.pass.cpp
libcxx/test/std/utilities/template.bitset/bitset.operators/op_or.pass.cpp
Removed:
libcxx/test/std/utilities/template.bitset/bitset.members/bitset_test_cases.h
################################################################################
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/count.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/count.pass.cpp
index 4d5385612a59..81311bb68a35 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/count.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/count.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp
index 04f61bcd2582..841030ccdf74 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp
index 9631a4f59427..3e0942a2fd7e 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/index.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/index.pass.cpp
index dd84a7b93e79..25ba219fd54a 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/index.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/index.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
index d8bd2685cedf..19ccb97d8c01 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift.pass.cpp
index f8ced1869888..4d5f9a0a8521 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
index 0dd12be8dbc0..d8802e9dfaf5 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/not_all.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/not_all.pass.cpp
index 99467316eca3..7e9410aa96c5 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/not_all.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/not_all.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
index c1cb214340bf..f341f1f75207 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
index cf5c7e3cd448..d0b424aaca4d 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
@@ -16,7 +16,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
index 641f846d3cac..be8f9d8c9f46 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
index 00b8864b1706..d54d9d5583c7 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp
index 62dc30206087..c84e0a1ddc26 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift.pass.cpp
index c60cc908bffc..46eb17d1fa8d 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
index 42d239659301..a103f3758585 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp
index b00932087757..7d9562218724 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/test.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/test.pass.cpp
index a11e0def7c39..ea5aa996a490 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/test.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/test.pass.cpp
@@ -13,7 +13,7 @@
#include <cstddef>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/to_string.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/to_string.pass.cpp
index 69f872cb7fd2..0f364ec40def 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/to_string.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/to_string.pass.cpp
@@ -27,7 +27,7 @@
#include <string>
#include <vector>
-#include "bitset_test_cases.h"
+#include "../bitset_test_cases.h"
#include "test_macros.h"
template <class CharT, std::size_t N>
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.operators/op_and.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.operators/op_and.pass.cpp
index 21d5d08058ca..a0885f91d3b1 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.operators/op_and.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.operators/op_and.pass.cpp
@@ -9,38 +9,27 @@
// test bitset<N> operator&(const bitset<N>& lhs, const bitset<N>& rhs);
#include <bitset>
-#include <cstdlib>
#include <cassert>
+#include <cstddef>
+#include <vector>
+#include "../bitset_test_cases.h"
#include "test_macros.h"
-#if defined(TEST_COMPILER_CLANG)
-#pragma clang diagnostic ignored "-Wtautological-compare"
-#elif defined(TEST_COMPILER_C1XX)
-#pragma warning(disable: 6294) // Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed.
-#endif
-
-template <std::size_t N>
-std::bitset<N>
-make_bitset()
-{
- std::bitset<N> v;
- for (std::size_t i = 0; i < N; ++i)
- v[i] = static_cast<bool>(std::rand() & 1);
- return v;
-}
-
template <std::size_t N>
-void test_op_and()
-{
- std::bitset<N> v1 = make_bitset<N>();
- std::bitset<N> v2 = make_bitset<N>();
- std::bitset<N> v3 = v1;
- assert((v1 & v2) == (v3 &= v2));
+void test_op_and() {
+ std::vector<std::bitset<N> > const cases = get_test_cases<N>();
+ for (std::size_t c1 = 0; c1 != cases.size(); ++c1) {
+ for (std::size_t c2 = 0; c2 != cases.size(); ++c2) {
+ std::bitset<N> v1 = cases[c1];
+ std::bitset<N> v2 = cases[c2];
+ std::bitset<N> v3 = v1;
+ assert((v1 & v2) == (v3 &= v2));
+ }
+ }
}
-int main(int, char**)
-{
+int main(int, char**) {
test_op_and<0>();
test_op_and<1>();
test_op_and<31>();
@@ -51,5 +40,5 @@ int main(int, char**)
test_op_and<65>();
test_op_and<1000>();
- return 0;
+ return 0;
}
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.operators/op_not.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.operators/op_not.pass.cpp
index 4a71385a941f..78e68bf1b51a 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.operators/op_not.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.operators/op_not.pass.cpp
@@ -9,38 +9,27 @@
// test bitset<N> operator^(const bitset<N>& lhs, const bitset<N>& rhs);
#include <bitset>
-#include <cstdlib>
#include <cassert>
+#include <cstddef>
+#include <vector>
+#include "../bitset_test_cases.h"
#include "test_macros.h"
-#if defined(TEST_COMPILER_CLANG)
-#pragma clang diagnostic ignored "-Wtautological-compare"
-#elif defined(TEST_COMPILER_C1XX)
-#pragma warning(disable: 6294) // Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed.
-#endif
-
-template <std::size_t N>
-std::bitset<N>
-make_bitset()
-{
- std::bitset<N> v;
- for (std::size_t i = 0; i < N; ++i)
- v[i] = static_cast<bool>(std::rand() & 1);
- return v;
-}
-
template <std::size_t N>
-void test_op_not()
-{
- std::bitset<N> v1 = make_bitset<N>();
- std::bitset<N> v2 = make_bitset<N>();
- std::bitset<N> v3 = v1;
- assert((v1 ^ v2) == (v3 ^= v2));
+void test_op_not() {
+ std::vector<std::bitset<N> > const cases = get_test_cases<N>();
+ for (std::size_t c1 = 0; c1 != cases.size(); ++c1) {
+ for (std::size_t c2 = 0; c2 != cases.size(); ++c2) {
+ std::bitset<N> v1 = cases[c1];
+ std::bitset<N> v2 = cases[c2];
+ std::bitset<N> v3 = v1;
+ assert((v1 ^ v2) == (v3 ^= v2));
+ }
+ }
}
-int main(int, char**)
-{
+int main(int, char**) {
test_op_not<0>();
test_op_not<1>();
test_op_not<31>();
@@ -51,5 +40,5 @@ int main(int, char**)
test_op_not<65>();
test_op_not<1000>();
- return 0;
+ return 0;
}
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.operators/op_or.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.operators/op_or.pass.cpp
index bc4847c19e40..febaa7f01dcd 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.operators/op_or.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.operators/op_or.pass.cpp
@@ -9,38 +9,27 @@
// test bitset<N> operator|(const bitset<N>& lhs, const bitset<N>& rhs);
#include <bitset>
-#include <cstdlib>
#include <cassert>
+#include <cstddef>
+#include <vector>
+#include "../bitset_test_cases.h"
#include "test_macros.h"
-#if defined(TEST_COMPILER_CLANG)
-#pragma clang diagnostic ignored "-Wtautological-compare"
-#elif defined(TEST_COMPILER_C1XX)
-#pragma warning(disable: 6294) // Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed.
-#endif
-
-template <std::size_t N>
-std::bitset<N>
-make_bitset()
-{
- std::bitset<N> v;
- for (std::size_t i = 0; i < N; ++i)
- v[i] = static_cast<bool>(std::rand() & 1);
- return v;
-}
-
template <std::size_t N>
-void test_op_or()
-{
- std::bitset<N> v1 = make_bitset<N>();
- std::bitset<N> v2 = make_bitset<N>();
- std::bitset<N> v3 = v1;
- assert((v1 | v2) == (v3 |= v2));
+void test_op_or() {
+ std::vector<std::bitset<N> > const cases = get_test_cases<N>();
+ for (std::size_t c1 = 0; c1 != cases.size(); ++c1) {
+ for (std::size_t c2 = 0; c2 != cases.size(); ++c2) {
+ std::bitset<N> v1 = cases[c1];
+ std::bitset<N> v2 = cases[c2];
+ std::bitset<N> v3 = v1;
+ assert((v1 | v2) == (v3 |= v2));
+ }
+ }
}
-int main(int, char**)
-{
+int main(int, char**) {
test_op_or<0>();
test_op_or<1>();
test_op_or<31>();
@@ -51,5 +40,5 @@ int main(int, char**)
test_op_or<65>();
test_op_or<1000>();
- return 0;
+ return 0;
}
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/bitset_test_cases.h b/libcxx/test/std/utilities/template.bitset/bitset_test_cases.h
similarity index 100%
rename from libcxx/test/std/utilities/template.bitset/bitset.members/bitset_test_cases.h
rename to libcxx/test/std/utilities/template.bitset/bitset_test_cases.h
More information about the libcxx-commits
mailing list