[libcxx-commits] [libcxx] eb1ceb1 - [libc++][test] Use TEST_HAS_NO_CHAR8_T to simplify #ifdefs. NFCI.
Joe Loser via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Aug 25 20:10:01 PDT 2022
Author: Joe Loser
Date: 2022-08-25T21:09:10-06:00
New Revision: eb1ceb17ae9716a738eac4ab30872bfc3c7268ef
URL: https://github.com/llvm/llvm-project/commit/eb1ceb17ae9716a738eac4ab30872bfc3c7268ef
DIFF: https://github.com/llvm/llvm-project/commit/eb1ceb17ae9716a738eac4ab30872bfc3c7268ef.diff
LOG: [libc++][test] Use TEST_HAS_NO_CHAR8_T to simplify #ifdefs. NFCI.
Many tests in `libcxx/test/std/strings` use
`#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L`
which can be replaced with the more terse `#ifndef TEST_HAS_NO_CHAR8_T`.
Differential Revision: https://reviews.llvm.org/D132626
Added:
Modified:
libcxx/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
libcxx/test/std/strings/basic.string.hash/strings.pass.cpp
libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/compare.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eof.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq_int_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/find.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/lt.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/not_eof.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_char_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_int_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/types.pass.cpp
libcxx/test/std/strings/string.classes/typedefs.compile.pass.cpp
libcxx/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp
libcxx/test/std/strings/string.view/string.view.cons/assign.pass.cpp
libcxx/test/std/strings/string.view/string.view.cons/default.pass.cpp
libcxx/test/std/strings/string.view/string.view.cons/from_string.pass.cpp
libcxx/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
libcxx/test/std/strings/string.view/string.view.hash/string_view.pass.cpp
libcxx/test/std/strings/string.view/string.view.iterators/begin.pass.cpp
libcxx/test/std/strings/string.view/string.view.iterators/end.pass.cpp
libcxx/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp
libcxx/test/std/strings/string.view/string.view.iterators/rend.pass.cpp
libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp
libcxx/test/std/strings/string.view/types.pass.cpp
libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp b/libcxx/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
index 5bc3a23e2de03..7e620b3fb189d 100644
--- a/libcxx/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
@@ -26,7 +26,7 @@ int main(int, char**) {
#ifndef TEST_HAS_NO_WIDE_CHARACTERS
test_hash_enabled_for_type<std::wstring>();
#endif
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test_hash_enabled_for_type<std::u8string>();
#endif
test_hash_enabled_for_type<std::u16string>();
diff --git a/libcxx/test/std/strings/basic.string.hash/strings.pass.cpp b/libcxx/test/std/strings/basic.string.hash/strings.pass.cpp
index 576184a4a45aa..45882a48e086e 100644
--- a/libcxx/test/std/strings/basic.string.hash/strings.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.hash/strings.pass.cpp
@@ -44,7 +44,7 @@ test()
int main(int, char**)
{
test<std::string>();
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test<std::u8string>();
#endif
test<std::u16string>();
diff --git a/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
index 6d48e745ced5b..56e40fcbe1c34 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
@@ -13,7 +13,7 @@
#include "test_macros.h"
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
typedef std::u8string u8string;
#else
typedef std::string u8string;
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
index 8ccde6acec94d..2a0867c2c9f17 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp
@@ -17,7 +17,7 @@
#include "test_macros.h"
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
constexpr bool test_constexpr()
{
char8_t c = u'1';
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp
index bf94e5edc204f..7142863f2249d 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp
@@ -21,7 +21,7 @@
TEST_CONSTEXPR_CXX20 bool test()
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
char8_t s2[3] = {0};
assert(std::char_traits<char8_t>::assign(s2, 3, char8_t(5)) == s2);
assert(s2[0] == char8_t(5));
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/compare.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/compare.pass.cpp
index 6827a78c413fb..3dd3078676ecc 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/compare.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/compare.pass.cpp
@@ -18,7 +18,7 @@
#include "test_macros.h"
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
constexpr bool test_constexpr()
{
return std::char_traits<char8_t>::compare(u8"123", u8"223", 3) < 0
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
index 84d13e7e6a7f7..cbaeebaa961d1 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
@@ -21,7 +21,7 @@
TEST_CONSTEXPR_CXX20 bool test()
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
char8_t s1[] = {1, 2, 3};
char8_t s2[3] = {0};
assert(std::char_traits<char8_t>::copy(s2, s1, 3) == s2);
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eof.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eof.pass.cpp
index 20372aa477f81..b21427907ab8e 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eof.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eof.pass.cpp
@@ -20,7 +20,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
std::char_traits<char8_t>::int_type i = std::char_traits<char8_t>::eof();
((void)i); // Prevent unused warning
#endif
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq.pass.cpp
index e43a0728cd403..87c27325c76bf 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq.pass.cpp
@@ -20,7 +20,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
assert( std::char_traits<char8_t>::eq(u8'a', u8'a'));
assert(!std::char_traits<char8_t>::eq(u8'a', u8'A'));
#endif
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq_int_type.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq_int_type.pass.cpp
index 1f3f84483587c..1d4bfe7b26e02 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq_int_type.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq_int_type.pass.cpp
@@ -20,7 +20,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
assert( std::char_traits<char8_t>::eq_int_type(u8'a', u8'a'));
assert(!std::char_traits<char8_t>::eq_int_type(u8'a', u8'A'));
assert(!std::char_traits<char8_t>::eq_int_type(std::char_traits<char8_t>::eof(), u8'A'));
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/find.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/find.pass.cpp
index 79038f777832a..60d17a6ad6f0a 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/find.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/find.pass.cpp
@@ -18,7 +18,7 @@
#include "test_macros.h"
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
constexpr bool test_constexpr()
{
constexpr const char8_t *p = u8"123";
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp
index 2876840775f81..602b7eda6aa9c 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp
@@ -18,7 +18,7 @@
#include "test_macros.h"
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
constexpr bool test_constexpr()
{
return std::char_traits<char8_t>::length(u8"") == 0
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/lt.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/lt.pass.cpp
index 550813b4d00f0..26f3806bcd7a1 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/lt.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/lt.pass.cpp
@@ -20,7 +20,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
assert(!std::char_traits<char8_t>::lt(u8'a', u8'a'));
assert( std::char_traits<char8_t>::lt(u8'A', u8'a'));
#endif
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp
index d338ba72ea0b1..6c5f1b2b79a11 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp
@@ -21,7 +21,7 @@
TEST_CONSTEXPR_CXX20 bool test()
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
char8_t s1[] = {1, 2, 3};
assert(std::char_traits<char8_t>::move(s1, s1+1, 2) == s1);
assert(s1[0] == char8_t(2));
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/not_eof.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/not_eof.pass.cpp
index a95119df05037..6bfe7983b6555 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/not_eof.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/not_eof.pass.cpp
@@ -20,7 +20,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
assert(std::char_traits<char8_t>::not_eof(u8'a') == u8'a');
assert(std::char_traits<char8_t>::not_eof(u8'A') == u8'A');
assert(std::char_traits<char8_t>::not_eof(0) == 0);
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_char_type.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_char_type.pass.cpp
index de6b9e1850862..98b7e07474c4c 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_char_type.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_char_type.pass.cpp
@@ -20,7 +20,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
assert(std::char_traits<char8_t>::to_char_type(u8'a') == u8'a');
assert(std::char_traits<char8_t>::to_char_type(u8'A') == u8'A');
assert(std::char_traits<char8_t>::to_char_type(0) == 0);
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_int_type.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_int_type.pass.cpp
index 366c506c7c0dc..3f65beecd9a0b 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_int_type.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_int_type.pass.cpp
@@ -20,7 +20,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
assert(std::char_traits<char8_t>::to_int_type(u8'a') == u8'a');
assert(std::char_traits<char8_t>::to_int_type(u8'A') == u8'A');
assert(std::char_traits<char8_t>::to_int_type(0) == 0);
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/types.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/types.pass.cpp
index b04cf715f155e..51503e12f4d5e 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/types.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/types.pass.cpp
@@ -26,7 +26,7 @@
int main(int, char**)
{
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
static_assert((std::is_same<std::char_traits<char8_t>::char_type, char8_t>::value), "");
static_assert((std::is_same<std::char_traits<char8_t>::int_type, unsigned int>::value), "");
static_assert((std::is_same<std::char_traits<char8_t>::off_type, std::streamoff>::value), "");
diff --git a/libcxx/test/std/strings/string.classes/typedefs.compile.pass.cpp b/libcxx/test/std/strings/string.classes/typedefs.compile.pass.cpp
index 6900465fc589f..c278e323832aa 100644
--- a/libcxx/test/std/strings/string.classes/typedefs.compile.pass.cpp
+++ b/libcxx/test/std/strings/string.classes/typedefs.compile.pass.cpp
@@ -26,7 +26,7 @@ static_assert((std::is_same<std::string, std::basic_string<char> >::value), "");
#ifndef TEST_HAS_NO_WIDE_CHARACTERS
static_assert((std::is_same<std::wstring, std::basic_string<wchar_t> >::value), "");
#endif
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
static_assert((std::is_same<std::u8string, std::basic_string<char8_t> >::value), "");
#endif
static_assert((std::is_same<std::u16string, std::basic_string<char16_t> >::value), "");
diff --git a/libcxx/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp b/libcxx/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp
index fcc5b7f0bfadc..2e11aa120d3d5 100644
--- a/libcxx/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp
@@ -77,7 +77,7 @@ void test2 ( const CharT *s, size_t len ) {
int main(int, char**) {
test1<std::string_view> ();
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test1<std::u8string_view> ();
#endif
test1<std::u16string_view> ();
@@ -98,7 +98,7 @@ int main(int, char**) {
test2 ( L"", 0 );
#endif
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test2 ( u8"ABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDE", 105 );
test2 ( u8"ABCDE", 5 );
test2 ( u8"a", 1 );
diff --git a/libcxx/test/std/strings/string.view/string.view.cons/assign.pass.cpp b/libcxx/test/std/strings/string.view/string.view.cons/assign.pass.cpp
index 300741264366f..735ece200d2d8 100644
--- a/libcxx/test/std/strings/string.view/string.view.cons/assign.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.cons/assign.pass.cpp
@@ -33,7 +33,7 @@ bool test (T sv0)
int main(int, char**) {
assert( test<std::string_view> ( "1234"));
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
assert( test<std::u8string_view> (u8"1234"));
#endif
#if TEST_STD_VER >= 11
@@ -46,7 +46,7 @@ int main(int, char**) {
#if TEST_STD_VER > 11
static_assert( test<std::string_view> ({ "abc", 3}), "");
-# if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert( test<std::u8string_view> ({u8"abc", 3}), "");
# endif
static_assert( test<std::u16string_view> ({ u"abc", 3}), "");
diff --git a/libcxx/test/std/strings/string.view/string.view.cons/default.pass.cpp b/libcxx/test/std/strings/string.view/string.view.cons/default.pass.cpp
index a0683bf72b468..aeb4731213181 100644
--- a/libcxx/test/std/strings/string.view/string.view.cons/default.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.cons/default.pass.cpp
@@ -39,7 +39,7 @@ void test () {
int main(int, char**) {
test<std::string_view> ();
test<std::u16string_view> ();
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test<std::u8string_view> ();
#endif
test<std::u32string_view> ();
diff --git a/libcxx/test/std/strings/string.view/string.view.cons/from_string.pass.cpp b/libcxx/test/std/strings/string.view/string.view.cons/from_string.pass.cpp
index ed5801f113809..b30a8a9019b9a 100644
--- a/libcxx/test/std/strings/string.view/string.view.cons/from_string.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.cons/from_string.pass.cpp
@@ -43,7 +43,7 @@ int main(int, char**) {
test ( std::wstring() );
#endif
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test ( std::u8string{u8"QBCDE"} );
test ( std::u8string{u8""} );
test ( std::u8string{} );
diff --git a/libcxx/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp b/libcxx/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
index eba68d42eb65e..5bea72e5b7a9f 100644
--- a/libcxx/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
@@ -27,7 +27,7 @@ int main(int, char**) {
#ifndef TEST_HAS_NO_WIDE_CHARACTERS
test_hash_enabled_for_type<std::wstring_view>();
#endif
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test_hash_enabled_for_type<std::u8string_view>();
#endif
test_hash_enabled_for_type<std::u16string_view>();
diff --git a/libcxx/test/std/strings/string.view/string.view.hash/string_view.pass.cpp b/libcxx/test/std/strings/string.view/string.view.hash/string_view.pass.cpp
index 0770926c2fa72..44b72ce780d61 100644
--- a/libcxx/test/std/strings/string.view/string.view.hash/string_view.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.hash/string_view.pass.cpp
@@ -61,7 +61,7 @@ test()
int main(int, char**)
{
test<std::string_view>();
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test<std::u8string_view>();
#endif
test<std::u16string_view>();
diff --git a/libcxx/test/std/strings/string.view/string.view.iterators/begin.pass.cpp b/libcxx/test/std/strings/string.view/string.view.iterators/begin.pass.cpp
index e000d16a526df..73007fc4c32a2 100644
--- a/libcxx/test/std/strings/string.view/string.view.iterators/begin.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.iterators/begin.pass.cpp
@@ -44,7 +44,7 @@ test(S s)
int main(int, char**)
{
typedef std::string_view string_view;
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
typedef std::u8string_view u8string_view;
#endif
typedef std::u16string_view u16string_view;
@@ -54,7 +54,7 @@ int main(int, char**)
test(u16string_view());
test(u32string_view());
test(string_view ( "123"));
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test(u8string_view{u8"123"});
#endif
#if TEST_STD_VER >= 11
@@ -71,21 +71,21 @@ int main(int, char**)
#if TEST_STD_VER > 11
{
constexpr string_view sv { "123", 3 };
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
constexpr u8string_view u8sv {u8"123", 3 };
#endif
constexpr u16string_view u16sv {u"123", 3 };
constexpr u32string_view u32sv {U"123", 3 };
static_assert ( *sv.begin() == sv[0], "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( *u8sv.begin() == u8sv[0], "" );
#endif
static_assert ( *u16sv.begin() == u16sv[0], "" );
static_assert ( *u32sv.begin() == u32sv[0], "" );
static_assert ( *sv.cbegin() == sv[0], "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( *u8sv.cbegin() == u8sv[0], "" );
#endif
static_assert ( *u16sv.cbegin() == u16sv[0], "" );
diff --git a/libcxx/test/std/strings/string.view/string.view.iterators/end.pass.cpp b/libcxx/test/std/strings/string.view/string.view.iterators/end.pass.cpp
index ef7b12d7f0a42..70e30e0fdfa3d 100644
--- a/libcxx/test/std/strings/string.view/string.view.iterators/end.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.iterators/end.pass.cpp
@@ -53,7 +53,7 @@ test(S s)
int main(int, char**)
{
typedef std::string_view string_view;
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
typedef std::u8string_view u8string_view;
#endif
typedef std::u16string_view u16string_view;
@@ -63,7 +63,7 @@ int main(int, char**)
test(u16string_view());
test(u32string_view());
test(string_view ( "123"));
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test(u8string_view{u8"123"});
#endif
#if TEST_STD_VER >= 11
@@ -80,21 +80,21 @@ int main(int, char**)
#if TEST_STD_VER > 11
{
constexpr string_view sv { "123", 3 };
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
constexpr u8string_view u8sv {u8"123", 3 };
#endif
constexpr u16string_view u16sv {u"123", 3 };
constexpr u32string_view u32sv {U"123", 3 };
static_assert ( sv.begin() != sv.end(), "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( u8sv.begin() != u8sv.end(), "" );
#endif
static_assert ( u16sv.begin() != u16sv.end(), "" );
static_assert ( u32sv.begin() != u32sv.end(), "" );
static_assert ( sv.begin() != sv.cend(), "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( u8sv.begin() != u8sv.cend(), "" );
#endif
static_assert ( u16sv.begin() != u16sv.cend(), "" );
diff --git a/libcxx/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp b/libcxx/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp
index fcd849e74f1ac..9b96c0552519b 100644
--- a/libcxx/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp
@@ -45,7 +45,7 @@ test(S s)
int main(int, char**)
{
typedef std::string_view string_view;
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
typedef std::u8string_view u8string_view;
#endif
typedef std::u16string_view u16string_view;
@@ -55,7 +55,7 @@ int main(int, char**)
test(u16string_view());
test(u32string_view());
test(string_view ( "123"));
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test(u8string_view{u8"123"});
#endif
#if TEST_STD_VER >= 11
@@ -72,21 +72,21 @@ int main(int, char**)
#if TEST_STD_VER > 14
{
constexpr string_view sv { "123", 3 };
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
constexpr u8string_view u8sv {u8"123", 3 };
#endif
constexpr u16string_view u16sv {u"123", 3 };
constexpr u32string_view u32sv {U"123", 3 };
static_assert ( *sv.rbegin() == sv[2], "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( *u8sv.rbegin() == u8sv[2], "" );
#endif
static_assert ( *u16sv.rbegin() == u16sv[2], "" );
static_assert ( *u32sv.rbegin() == u32sv[2], "" );
static_assert ( *sv.crbegin() == sv[2], "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( *u8sv.crbegin() == u8sv[2], "" );
#endif
static_assert ( *u16sv.crbegin() == u16sv[2], "" );
diff --git a/libcxx/test/std/strings/string.view/string.view.iterators/rend.pass.cpp b/libcxx/test/std/strings/string.view/string.view.iterators/rend.pass.cpp
index f6effdd86192d..481d623eb715a 100644
--- a/libcxx/test/std/strings/string.view/string.view.iterators/rend.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string.view.iterators/rend.pass.cpp
@@ -53,7 +53,7 @@ test(S s)
int main(int, char**)
{
typedef std::string_view string_view;
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
typedef std::u8string_view u8string_view;
#endif
typedef std::u16string_view u16string_view;
@@ -63,7 +63,7 @@ int main(int, char**)
test(u16string_view());
test(u32string_view());
test(string_view ( "123"));
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test(u8string_view{u8"123"});
#endif
#if TEST_STD_VER >= 11
@@ -80,21 +80,21 @@ int main(int, char**)
#if TEST_STD_VER > 14
{
constexpr string_view sv { "123", 3 };
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
constexpr u8string_view u8sv {u8"123", 3 };
#endif
constexpr u16string_view u16sv {u"123", 3 };
constexpr u32string_view u32sv {U"123", 3 };
static_assert ( *--sv.rend() == sv[0], "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( *--u8sv.rend() == u8sv[0], "" );
#endif
static_assert ( *--u16sv.rend() == u16sv[0], "" );
static_assert ( *--u32sv.rend() == u32sv[0], "" );
static_assert ( *--sv.crend() == sv[0], "" );
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+# ifndef TEST_HAS_NO_CHAR8_T
static_assert ( *--u8sv.crend() == u8sv[0], "" );
#endif
static_assert ( *--u16sv.crend() == u16sv[0], "" );
diff --git a/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp b/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp
index 66ab02406910d..74ae456e585b0 100644
--- a/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp
@@ -15,7 +15,7 @@
#include "test_macros.h"
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
typedef std::u8string_view u8string_view;
#else
typedef std::string_view u8string_view;
diff --git a/libcxx/test/std/strings/string.view/types.pass.cpp b/libcxx/test/std/strings/string.view/types.pass.cpp
index 89c6c3c9e33c1..e9d3d24863bb0 100644
--- a/libcxx/test/std/strings/string.view/types.pass.cpp
+++ b/libcxx/test/std/strings/string.view/types.pass.cpp
@@ -73,7 +73,7 @@ int main(int, char**)
{
test<std::char_traits<char> >();
test<std::char_traits<wchar_t> >();
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test<std::char_traits<char8_t> >();
#endif
static_assert((std::is_same<std::basic_string_view<char>::traits_type,
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
index 216df3b56116a..96d160bc2c2c4 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp
@@ -84,7 +84,7 @@ int main(int, char**)
test_is_integral<signed char>();
test_is_integral<unsigned char>();
test_is_integral<wchar_t>();
-#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+#ifndef TEST_HAS_NO_CHAR8_T
test_is_integral<char8_t>();
#endif
More information about the libcxx-commits
mailing list