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
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// REQUIRES: long_tests
|
// REQUIRES: long_tests
|
||||||
|
// UNSUPPORTED: c++98, c++03
|
||||||
|
|
||||||
// Not a portable test
|
// Not a portable test
|
||||||
|
|
||||||
@@ -30,6 +31,12 @@ is_power_of_two(unsigned long n)
|
|||||||
return __builtin_popcount(n) == 1;
|
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
|
void
|
||||||
test_next_pow2()
|
test_next_pow2()
|
||||||
{
|
{
|
||||||
@@ -47,11 +54,12 @@ test_next_pow2()
|
|||||||
assert(std::__next_hash_pow2(pow2) == pow2);
|
assert(std::__next_hash_pow2(pow2) == pow2);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (std::size_t n : {3, 7, 9, 15, 127, 129})
|
test_next_pow2_val(3);
|
||||||
{
|
test_next_pow2_val(7);
|
||||||
std::size_t npow2 = std::__next_hash_pow2(n);
|
test_next_pow2_val(9);
|
||||||
assert(is_power_of_two(npow2) && npow2 > n);
|
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.
|
// Note: this is only really useful when run with -fsanitize=undefined.
|
||||||
|
|||||||
Reference in New Issue
Block a user