[libc++][test] Enable constexpr string comparison tests
authorJoe Loser <joeloser93@gmail.com>
Tue, 31 May 2022 00:21:56 +0000 (18:21 -0600)
committerJoe Loser <joeloser93@gmail.com>
Thu, 2 Jun 2022 01:26:20 +0000 (19:26 -0600)
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

libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp
libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp
libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp
libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp
libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp
libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp

index 4aa27b0..916e5ed 100644 (file)
@@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test()
             assert((ConvertibleTo<SV>(v[i]) == v[j]) == expected);
             assert((v[i] == ConvertibleTo<SV>(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<CharT, Traits>(v[i]) == v[j]) == expected);
                 assert((v[i] == std::basic_string<CharT, Traits>(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<CharT, Traits>(abc) == abc0def) == false);
         assert((abc0def == std::basic_string<CharT, Traits>(abc)) == false);
     }
index 84753b0..4f56bc9 100644 (file)
@@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test()
             assert((ConvertibleTo<SV>(v[i]) > v[j]) == expected);
             assert((v[i] > ConvertibleTo<SV>(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<CharT, Traits>(v[i]) > v[j]) == expected);
                 assert((v[i] > std::basic_string<CharT, Traits>(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<CharT, Traits>(abc) > abc0def) == false);
         assert((abc0def > std::basic_string<CharT, Traits>(abc)) == true);
     }
index 0ae1b6f..147dc3a 100644 (file)
@@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test()
             assert((ConvertibleTo<SV>(v[i]) >= v[j]) == expected);
             assert((v[i] >= ConvertibleTo<SV>(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<CharT, Traits>(v[i]) >= v[j]) == expected);
                 assert((v[i] >= std::basic_string<CharT, Traits>(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<CharT, Traits>(abc) >= abc0def) == false);
         assert((abc0def >= std::basic_string<CharT, Traits>(abc)) == true);
     }
index 5c9e052..fe56920 100644 (file)
@@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test()
             assert((ConvertibleTo<SV>(v[i]) < v[j]) == expected);
             assert((v[i] < ConvertibleTo<SV>(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<CharT, Traits>(v[i]) < v[j]) == expected);
                 assert((v[i] < std::basic_string<CharT, Traits>(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<CharT, Traits>(abc) < abc0def) == true);
         assert((abc0def < std::basic_string<CharT, Traits>(abc)) == false);
     }
index b7e31c6..e03f4b4 100644 (file)
@@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test()
             assert((ConvertibleTo<SV>(v[i]) <= v[j]) == expected);
             assert((v[i] <= ConvertibleTo<SV>(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<CharT, Traits>(v[i]) <= v[j]) == expected);
                 assert((v[i] <= std::basic_string<CharT, Traits>(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<CharT, Traits>(abc) <= abc0def) == true);
         assert((abc0def <= std::basic_string<CharT, Traits>(abc)) == false);
     }
index bca79e4..35b1a62 100644 (file)
@@ -52,8 +52,7 @@ TEST_CONSTEXPR_CXX14 bool test()
             assert((ConvertibleTo<SV>(v[i]) != v[j]) == expected);
             assert((v[i] != ConvertibleTo<SV>(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<CharT, Traits>(v[i]) != v[j]) == expected);
                 assert((v[i] != std::basic_string<CharT, Traits>(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<CharT, Traits>(abc) != abc0def) == true);
         assert((abc0def != std::basic_string<CharT, Traits>(abc)) == true);
     }