From: Joe Loser Date: Tue, 31 May 2022 00:21:56 +0000 (-0600) Subject: [libc++][test] Enable constexpr string comparison tests X-Git-Tag: upstream/15.0.7~6111 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=93a375a15c8ad4226453b3ec920070b5be361656;p=platform%2Fupstream%2Fllvm.git [libc++][test] Enable constexpr string comparison tests Some tests in `string.view.comparison` are not enabled due to previous lack of support for `constexpr std::string`. Now that it is implemented, we can enable these tests. Differential Revision: https://reviews.llvm.org/D126737 --- diff --git a/libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp b/libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp index 4aa27b0..916e5ed 100644 --- a/libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp @@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((ConvertibleTo(v[i]) == v[j]) == expected); assert((v[i] == ConvertibleTo(v[j])) == expected); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(v[i]) == v[j]) == expected); assert((v[i] == std::basic_string(v[j])) == expected); } @@ -74,8 +73,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((abc.data() == abc0def) == false); assert((abc0def == abc.data()) == false); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(abc) == abc0def) == false); assert((abc0def == std::basic_string(abc)) == false); } diff --git a/libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp b/libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp index 84753b0..4f56bc9 100644 --- a/libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp @@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((ConvertibleTo(v[i]) > v[j]) == expected); assert((v[i] > ConvertibleTo(v[j])) == expected); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(v[i]) > v[j]) == expected); assert((v[i] > std::basic_string(v[j])) == expected); } @@ -74,8 +73,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((abc.data() > abc0def) == false); assert((abc0def > abc.data()) == true); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(abc) > abc0def) == false); assert((abc0def > std::basic_string(abc)) == true); } diff --git a/libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp b/libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp index 0ae1b6f..147dc3a 100644 --- a/libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp @@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((ConvertibleTo(v[i]) >= v[j]) == expected); assert((v[i] >= ConvertibleTo(v[j])) == expected); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(v[i]) >= v[j]) == expected); assert((v[i] >= std::basic_string(v[j])) == expected); } @@ -74,8 +73,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((abc.data() >= abc0def) == false); assert((abc0def >= abc.data()) == true); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(abc) >= abc0def) == false); assert((abc0def >= std::basic_string(abc)) == true); } diff --git a/libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp b/libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp index 5c9e052..fe56920 100644 --- a/libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp @@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((ConvertibleTo(v[i]) < v[j]) == expected); assert((v[i] < ConvertibleTo(v[j])) == expected); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(v[i]) < v[j]) == expected); assert((v[i] < std::basic_string(v[j])) == expected); } @@ -74,8 +73,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((abc.data() < abc0def) == true); assert((abc0def < abc.data()) == false); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(abc) < abc0def) == true); assert((abc0def < std::basic_string(abc)) == false); } diff --git a/libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp b/libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp index b7e31c6..e03f4b4 100644 --- a/libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp @@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((ConvertibleTo(v[i]) <= v[j]) == expected); assert((v[i] <= ConvertibleTo(v[j])) == expected); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(v[i]) <= v[j]) == expected); assert((v[i] <= std::basic_string(v[j])) == expected); } @@ -74,8 +73,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((abc.data() <= abc0def) == true); assert((abc0def <= abc.data()) == false); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(abc) <= abc0def) == true); assert((abc0def <= std::basic_string(abc)) == false); } diff --git a/libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp b/libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp index bca79e4..35b1a62 100644 --- a/libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp @@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((ConvertibleTo(v[i]) != v[j]) == expected); assert((v[i] != ConvertibleTo(v[j])) == expected); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(v[i]) != v[j]) == expected); assert((v[i] != std::basic_string(v[j])) == expected); } @@ -74,8 +73,7 @@ TEST_CONSTEXPR_CXX14 bool test() assert((abc.data() != abc0def) == true); assert((abc0def != abc.data()) == true); - if (!TEST_IS_CONSTANT_EVALUATED) { - // TODO FIXME: once P0980 "Making std::string constexpr" is implemented + if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20) { assert((std::basic_string(abc) != abc0def) == true); assert((abc0def != std::basic_string(abc)) == true); }