[libcxx] r304629 - Fix the recently introduced test to work on C++03

Marshall Clow via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 2 18:21:29 PDT 2017


Author: marshall
Date: Fri Jun  2 20:21:29 2017
New Revision: 304629

URL: http://llvm.org/viewvc/llvm-project?rev=304629&view=rev
Log:
Fix the recently introduced test to work on C++03

Modified:
    libcxx/trunk/test/libcxx/containers/unord/next_pow2.pass.cpp

Modified: libcxx/trunk/test/libcxx/containers/unord/next_pow2.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/unord/next_pow2.pass.cpp?rev=304629&r1=304628&r2=304629&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/unord/next_pow2.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/unord/next_pow2.pass.cpp Fri Jun  2 20:21:29 2017
@@ -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.




More information about the cfe-commits mailing list