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 4d5385612a5962..81311bb68a3581 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 04f61bcd2582c4..841030ccdf749f 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 9631a4f59427e7..3e0942a2fd7e51 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 dd84a7b93e79bc..25ba219fd54aaa 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 d8bd2685cedf88..19ccb97d8c01a9 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 f8ced186988853..4d5f9a0a8521fa 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 0dd12be8dbc060..d8802e9dfaf5f9 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 99467316eca3f5..7e9410aa96c50e 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 c1cb214340bf5a..f341f1f752077b 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 cf5c7e3cd4480c..d0b424aaca4df7 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 641f846d3caca0..be8f9d8c9f4632 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 00b8864b17067f..d54d9d5583c74d 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 62dc302060877d..c84e0a1ddc26eb 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 c60cc908bffc05..46eb17d1fa8dde 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 42d23965930106..a103f37585851a 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 b0093208775775..7d95622187247a 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 a11e0def7c39a6..ea5aa996a490b3 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 69f872cb7fd28f..0f364ec40defdf 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 #include -#include "bitset_test_cases.h" +#include "../bitset_test_cases.h" #include "test_macros.h" template 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 21d5d08058ca74..a0885f91d3b1c3 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 operator&(const bitset& lhs, const bitset& rhs); #include -#include #include +#include +#include +#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::bitset -make_bitset() -{ - std::bitset v; - for (std::size_t i = 0; i < N; ++i) - v[i] = static_cast(std::rand() & 1); - return v; -} - template -void test_op_and() -{ - std::bitset v1 = make_bitset(); - std::bitset v2 = make_bitset(); - std::bitset v3 = v1; - assert((v1 & v2) == (v3 &= v2)); +void test_op_and() { + std::vector > const cases = get_test_cases(); + for (std::size_t c1 = 0; c1 != cases.size(); ++c1) { + for (std::size_t c2 = 0; c2 != cases.size(); ++c2) { + std::bitset v1 = cases[c1]; + std::bitset v2 = cases[c2]; + std::bitset 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 4a71385a941fa3..78e68bf1b51a01 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 operator^(const bitset& lhs, const bitset& rhs); #include -#include #include +#include +#include +#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::bitset -make_bitset() -{ - std::bitset v; - for (std::size_t i = 0; i < N; ++i) - v[i] = static_cast(std::rand() & 1); - return v; -} - template -void test_op_not() -{ - std::bitset v1 = make_bitset(); - std::bitset v2 = make_bitset(); - std::bitset v3 = v1; - assert((v1 ^ v2) == (v3 ^= v2)); +void test_op_not() { + std::vector > const cases = get_test_cases(); + for (std::size_t c1 = 0; c1 != cases.size(); ++c1) { + for (std::size_t c2 = 0; c2 != cases.size(); ++c2) { + std::bitset v1 = cases[c1]; + std::bitset v2 = cases[c2]; + std::bitset 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 bc4847c19e409d..febaa7f01dcdfa 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 operator|(const bitset& lhs, const bitset& rhs); #include -#include #include +#include +#include +#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::bitset -make_bitset() -{ - std::bitset v; - for (std::size_t i = 0; i < N; ++i) - v[i] = static_cast(std::rand() & 1); - return v; -} - template -void test_op_or() -{ - std::bitset v1 = make_bitset(); - std::bitset v2 = make_bitset(); - std::bitset v3 = v1; - assert((v1 | v2) == (v3 |= v2)); +void test_op_or() { + std::vector > const cases = get_test_cases(); + for (std::size_t c1 = 0; c1 != cases.size(); ++c1) { + for (std::size_t c2 = 0; c2 != cases.size(); ++c2) { + std::bitset v1 = cases[c1]; + std::bitset v2 = cases[c2]; + std::bitset 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