diff --git a/libcxx/test/std/numerics/numeric.ops/accumulate/accumulate_op.pass.cpp b/libcxx/test/std/numerics/numeric.ops/accumulate/accumulate_op.pass.cpp --- a/libcxx/test/std/numerics/numeric.ops/accumulate/accumulate_op.pass.cpp +++ b/libcxx/test/std/numerics/numeric.ops/accumulate/accumulate_op.pass.cpp @@ -59,17 +59,7 @@ } #endif // TEST_STD_VER > 17 -// C++20 can use string in constexpr evaluation, but both libc++ and MSVC -// don't have the support yet. In these cases omit the constexpr test. -// FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) -void -#else -TEST_CONSTEXPR_CXX20 void -#endif -test_string() -{ +TEST_CONSTEXPR_CXX20 void test_string() { std::string sa[] = {"a", "b", "c"}; assert(std::accumulate(sa, sa + 3, std::string()) == "abc"); assert(std::accumulate(sa, sa + 3, std::string(), std::plus()) == "abc"); @@ -110,13 +100,7 @@ #if TEST_STD_VER > 17 test_use_move(); #endif // TEST_STD_VER > 17 - // C++20 can use string in constexpr evaluation, but both libc++ and MSVC - // don't have the support yet. In these cases omit the constexpr test. - // FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) - if (!std::is_constant_evaluated()) -#endif + test_string(); return true; diff --git a/libcxx/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference_op.pass.cpp b/libcxx/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference_op.pass.cpp --- a/libcxx/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference_op.pass.cpp +++ b/libcxx/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference_op.pass.cpp @@ -66,17 +66,7 @@ } #endif // TEST_STD_VER > 17 -// C++20 can use string in constexpr evaluation, but both libc++ and MSVC -// don't have the support yet. In these cases omit the constexpr test. -// FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) -void -#else -TEST_CONSTEXPR_CXX20 void -#endif -test_string() -{ +TEST_CONSTEXPR_CXX20 void test_string() { std::string sa[] = {"a", "b", "c"}; std::string sr[] = {"a", "ba", "cb"}; std::string output[3]; @@ -179,13 +169,7 @@ #if TEST_STD_VER > 17 test_use_move(); #endif // TEST_STD_VER > 17 - // C++20 can use string in constexpr evaluation, but both libc++ and MSVC - // don't have the support yet. In these cases omit the constexpr test. - // FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) - if (!std::is_constant_evaluated()) -#endif + test_string(); return true; diff --git a/libcxx/test/std/numerics/numeric.ops/inner.product/inner_product_comp.pass.cpp b/libcxx/test/std/numerics/numeric.ops/inner.product/inner_product_comp.pass.cpp --- a/libcxx/test/std/numerics/numeric.ops/inner.product/inner_product_comp.pass.cpp +++ b/libcxx/test/std/numerics/numeric.ops/inner.product/inner_product_comp.pass.cpp @@ -73,17 +73,7 @@ } #endif // TEST_STD_VER > 17 -// C++20 can use string in constexpr evaluation, but both libc++ and MSVC -// don't have the support yet. In these cases omit the constexpr test. -// FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) -void -#else -TEST_CONSTEXPR_CXX20 void -#endif -test_string() -{ +TEST_CONSTEXPR_CXX20 void test_string() { std::string sa[] = {"a", "b", "c"}; assert(std::accumulate(sa, sa + 3, std::string()) == "abc"); assert(std::accumulate(sa, sa + 3, std::string(), std::plus()) == "abc"); @@ -150,13 +140,7 @@ #if TEST_STD_VER > 17 test_use_move(); #endif // TEST_STD_VER > 17 - // C++20 can use string in constexpr evaluation, but both libc++ and MSVC - // don't have the support yet. In these cases omit the constexpr test. - // FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) - if (!std::is_constant_evaluated()) -#endif + test_string(); return true; diff --git a/libcxx/test/std/numerics/numeric.ops/partial.sum/partial_sum_op.pass.cpp b/libcxx/test/std/numerics/numeric.ops/partial.sum/partial_sum_op.pass.cpp --- a/libcxx/test/std/numerics/numeric.ops/partial.sum/partial_sum_op.pass.cpp +++ b/libcxx/test/std/numerics/numeric.ops/partial.sum/partial_sum_op.pass.cpp @@ -65,17 +65,7 @@ } #endif // TEST_STD_VER > 17 -// C++20 can use string in constexpr evaluation, but both libc++ and MSVC -// don't have the support yet. In these cases omit the constexpr test. -// FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) -void -#else -TEST_CONSTEXPR_CXX20 void -#endif -test_string() -{ +TEST_CONSTEXPR_CXX20 void test_string() { std::string sa[] = {"a", "b", "c"}; std::string sr[] = {"a", "ba", "cb"}; std::string output[3]; @@ -133,13 +123,7 @@ #if TEST_STD_VER > 17 test_use_move(); #endif // TEST_STD_VER > 17 - // C++20 can use string in constexpr evaluation, but both libc++ and MSVC - // don't have the support yet. In these cases omit the constexpr test. - // FIXME Remove constexpr string workaround introduced in D90569 -#if TEST_STD_VER > 17 && \ - (!defined(__cpp_lib_constexpr_string) || __cpp_lib_constexpr_string < 201907L) - if (!std::is_constant_evaluated()) -#endif + test_string(); return true;