From 118d2fef0227cd5878d3fdac6f67a523e9e09433 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Sat, 3 Jun 2017 01:21:29 +0000 Subject: [PATCH] Fix the recently introduced test to work on C++03 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@304629 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../libcxx/containers/unord/next_pow2.pass.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/test/libcxx/containers/unord/next_pow2.pass.cpp b/test/libcxx/containers/unord/next_pow2.pass.cpp index 088c06a68..3784eb87c 100644 --- a/test/libcxx/containers/unord/next_pow2.pass.cpp +++ b/test/libcxx/containers/unord/next_pow2.pass.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// // // REQUIRES: long_tests +// UNSUPPORTED: c++98, c++03 // Not a portable test @@ -30,6 +31,12 @@ is_power_of_two(unsigned long n) return __builtin_popcount(n) == 1; } +void test_next_pow2_val(size_t n) +{ + std::size_t npow2 = std::__next_hash_pow2(n); + assert(is_power_of_two(npow2) && npow2 > n); +} + void test_next_pow2() { @@ -47,11 +54,12 @@ test_next_pow2() assert(std::__next_hash_pow2(pow2) == pow2); } - for (std::size_t n : {3, 7, 9, 15, 127, 129}) - { - std::size_t npow2 = std::__next_hash_pow2(n); - assert(is_power_of_two(npow2) && npow2 > n); - } + test_next_pow2_val(3); + test_next_pow2_val(7); + test_next_pow2_val(9); + test_next_pow2_val(15); + test_next_pow2_val(127); + test_next_pow2_val(129); } // Note: this is only really useful when run with -fsanitize=undefined.