diff options
author | Stephan T. Lavavej <stl@exchange.microsoft.com> | 2016-11-18 22:45:32 +0000 |
---|---|---|
committer | Stephan T. Lavavej <stl@exchange.microsoft.com> | 2016-11-18 22:45:32 +0000 |
commit | ae3c4eec5ab73bf4635939b938eaf4bdbfc6b12b (patch) | |
tree | 3b3ac2d7f71e0fd03bc79d2a273b711e1fdbccfa /libcxx/test/std/numerics/rand/rand.adapt | |
parent | 62ae8f671cc922ec15e001e40801164073c8eb84 (diff) | |
download | bcm5719-llvm-ae3c4eec5ab73bf4635939b938eaf4bdbfc6b12b.tar.gz bcm5719-llvm-ae3c4eec5ab73bf4635939b938eaf4bdbfc6b12b.zip |
[libcxx] [test] D26812: In random tests, use real static_asserts and silence a warning.
In C++11 mode and newer, use real static_asserts.
In C++03 mode, min() and max() aren't constexpr, so use plain asserts.
One test triggers MSVC's warning C4310 "cast truncates constant value".
The code is valid, and yet the warning is valid, so I'm silencing it
through push-disable-pop.
llvm-svn: 287391
Diffstat (limited to 'libcxx/test/std/numerics/rand/rand.adapt')
3 files changed, 35 insertions, 10 deletions
diff --git a/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp b/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp index 53e4c29affc..f819f48b197 100644 --- a/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp @@ -35,8 +35,13 @@ test1() typedef std::ranlux24 E; static_assert((E::block_size == 223), ""); static_assert((E::used_block == 23), ""); - /*static_*/assert((E::min() == 0)/*, ""*/); - /*static_*/assert((E::max() == 0xFFFFFF)/*, ""*/); +#if TEST_STD_VER >= 11 + static_assert((E::min() == 0), ""); + static_assert((E::max() == 0xFFFFFF), ""); +#else + assert((E::min() == 0)); + assert((E::max() == 0xFFFFFF)); +#endif where(E::block_size); where(E::used_block); } @@ -47,8 +52,13 @@ test2() typedef std::ranlux48 E; static_assert((E::block_size == 389), ""); static_assert((E::used_block == 11), ""); - /*static_*/assert((E::min() == 0)/*, ""*/); - /*static_*/assert((E::max() == 0xFFFFFFFFFFFFull)/*, ""*/); +#if TEST_STD_VER >= 11 + static_assert((E::min() == 0), ""); + static_assert((E::max() == 0xFFFFFFFFFFFFull), ""); +#else + assert((E::min() == 0)); + assert((E::max() == 0xFFFFFFFFFFFFull)); +#endif where(E::block_size); where(E::used_block); } diff --git a/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/values.pass.cpp b/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/values.pass.cpp index 20ca7d5510b..187a71edcd7 100644 --- a/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/values.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/values.pass.cpp @@ -28,16 +28,26 @@ void test1() { typedef std::independent_bits_engine<std::ranlux24, 32, unsigned> E; - /*static_*/assert((E::min() == 0)/*, ""*/); - /*static_*/assert((E::max() == 0xFFFFFFFF)/*, ""*/); +#if TEST_STD_VER >= 11 + static_assert((E::min() == 0), ""); + static_assert((E::max() == 0xFFFFFFFF), ""); +#else + assert((E::min() == 0)); + assert((E::max() == 0xFFFFFFFF)); +#endif } void test2() { typedef std::independent_bits_engine<std::ranlux48, 64, unsigned long long> E; - /*static_*/assert((E::min() == 0)/*, ""*/); - /*static_*/assert((E::max() == 0xFFFFFFFFFFFFFFFFull)/*, ""*/); +#if TEST_STD_VER >= 11 + static_assert((E::min() == 0), ""); + static_assert((E::max() == 0xFFFFFFFFFFFFFFFFull), ""); +#else + assert((E::min() == 0)); + assert((E::max() == 0xFFFFFFFFFFFFFFFFull)); +#endif } int main() diff --git a/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp b/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp index eb42d644d30..be5b4a9786a 100644 --- a/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp @@ -33,8 +33,13 @@ test1() { typedef std::knuth_b E; static_assert(E::table_size == 256, ""); - /*static_*/assert((E::min() == 1)/*, ""*/); - /*static_*/assert((E::max() == 2147483646)/*, ""*/); +#if TEST_STD_VER >= 11 + static_assert((E::min() == 1), ""); + static_assert((E::max() == 2147483646), ""); +#else + assert((E::min() == 1)); + assert((E::max() == 2147483646)); +#endif where(E::table_size); } |