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.eng/rand.eng.sub/values.pass.cpp | |
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.eng/rand.eng.sub/values.pass.cpp')
-rw-r--r-- | libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp b/libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp index 75716a43dea..b3f12e72383 100644 --- a/libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp +++ b/libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp @@ -38,8 +38,13 @@ test1() static_assert((E::word_size == 24), ""); static_assert((E::short_lag == 10), ""); static_assert((E::long_lag == 24), ""); - /*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 static_assert((E::default_seed == 19780503u), ""); where(E::word_size); where(E::short_lag); @@ -54,8 +59,13 @@ test2() static_assert((E::word_size == 48), ""); static_assert((E::short_lag == 5), ""); static_assert((E::long_lag == 12), ""); - /*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 static_assert((E::default_seed == 19780503u), ""); where(E::word_size); where(E::short_lag); |