[libc++] Remove macros for IBM compiler
authorLouis Dionne <ldionne.2@gmail.com>
Mon, 13 Jun 2022 15:21:16 +0000 (11:21 -0400)
committerLouis Dionne <ldionne.2@gmail.com>
Tue, 14 Jun 2022 13:15:41 +0000 (09:15 -0400)
It's not tested or used anymore -- instead a Clang-based compiler is
used on IBM nowadays.

Differential Revision: https://reviews.llvm.org/D127650

95 files changed:
libcxx/include/__config
libcxx/include/__functional/hash.h
libcxx/include/__string/char_traits.h
libcxx/include/__type_traits/is_integral.h
libcxx/include/__utility/cmp.h
libcxx/include/iosfwd
libcxx/include/string
libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
libcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_string.pass.cpp
libcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_string_non_unicode.pass.cpp
libcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_string_unicode.pass.cpp
libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
libcxx/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp
libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp
libcxx/test/std/language.support/support.limits/limits/is_specialized.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp
libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
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/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign2.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign3.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/compare.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/copy.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eof.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq_int_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/find.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/length.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/lt.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/move.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/not_eof.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_char_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_int_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/types.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign2.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign3.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/compare.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/copy.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eof.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq_int_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/find.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/length.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/lt.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/move.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/not_eof.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_char_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_int_type.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/types.compile.pass.cpp [moved from libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/types.pass.cpp with 51% similarity]
libcxx/test/std/strings/string.classes/typedefs.compile.pass.cpp [moved from libcxx/test/std/strings/string.classes/typedefs.pass.cpp with 60% similarity]
libcxx/test/std/strings/string.view/string.view.cons/assign.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/utilities/format/format.arguments/format.arg/ctor.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.context/format.context/advance_to.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.context/format.context/out.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
libcxx/test/std/utilities/utility/utility.intcmp/intcmp.fail.cpp
libcxx/test/support/atomic_helpers.h
libcxx/test/support/poisoned_hash_helper.h
libcxx/test/support/test.support/make_string_header.pass.cpp
libcxx/test/support/test_macros.h

index f075441..a8f84de 100644 (file)
 #    define _LIBCPP_COMPILER_GCC
 #  elif defined(_MSC_VER)
 #    define _LIBCPP_COMPILER_MSVC
-#  elif defined(__IBMCPP__)
-#    define _LIBCPP_COMPILER_IBM
 #  endif
 
 #  if defined(_LIBCPP_COMPILER_GCC) && __cplusplus < 201103L
@@ -510,28 +508,7 @@ typedef __char32_t char32_t;
 
 #    define _LIBCPP_DISABLE_EXTENSION_WARNING
 
-#  elif defined(_LIBCPP_COMPILER_IBM)
-
-#    define _ALIGNAS(x) __attribute__((__aligned__(x)))
-#    define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
-#    define _ATTRIBUTE(x) __attribute__((x))
-#    define _LIBCPP_NORETURN __attribute__((noreturn))
-
-#    define _LIBCPP_HAS_NO_UNICODE_CHARS
-
-#    if defined(_AIX)
-#      define __MULTILOCALE_API
-#    endif
-
-#    define _LIBCPP_HAS_NO_ASAN
-
-#    define _LIBCPP_ALWAYS_INLINE __attribute__((__always_inline__))
-
-#    define _LIBCPP_HAS_NO_VECTOR_EXTENSION
-
-#    define _LIBCPP_DISABLE_EXTENSION_WARNING
-
-#  endif // _LIBCPP_COMPILER_[CLANG|GCC|MSVC|IBM]
+#  endif // _LIBCPP_COMPILER_[CLANG|GCC|MSVC]
 
 #  if defined(_LIBCPP_OBJECT_FORMAT_COFF)
 
@@ -747,11 +724,6 @@ _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD
 #    define _NOEXCEPT_(x)
 #  endif
 
-#  ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
-    typedef unsigned short char16_t;
-typedef unsigned int char32_t;
-#  endif
-
 #  ifndef __SIZEOF_INT128__
 #    define _LIBCPP_HAS_NO_INT128
 #  endif
index 2b3b96e..f1d5e27 100644 (file)
@@ -525,8 +525,6 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
 };
 #endif // !_LIBCPP_HAS_NO_CHAR8_T
 
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-
 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
 template <>
 struct _LIBCPP_TEMPLATE_VIS hash<char16_t>
@@ -559,8 +557,6 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
     size_t operator()(char32_t __v) const _NOEXCEPT {return static_cast<size_t>(__v);}
 };
 
-#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
-
 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
 template <>
index ce3f500..457a771 100644 (file)
@@ -516,8 +516,6 @@ char_traits<char8_t>::find(const char_type* __s, size_t __n, const char_type& __
 
 #endif // _LIBCPP_HAS_NO_CHAR8_T
 
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-
 template <>
 struct _LIBCPP_TEMPLATE_VIS char_traits<char16_t>
 {
@@ -698,8 +696,6 @@ char_traits<char32_t>::find(const char_type* __s, size_t __n, const char_type& _
     return nullptr;
 }
 
-#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
-
 // helper fns for basic_string and string_view
 
 // __str_find
index 7df964f..0937873 100644 (file)
@@ -30,10 +30,8 @@ template <>          struct __libcpp_is_integral<wchar_t>            { enum { va
 #ifndef _LIBCPP_HAS_NO_CHAR8_T
 template <>          struct __libcpp_is_integral<char8_t>            { enum { value = 1 }; };
 #endif
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
 template <>          struct __libcpp_is_integral<char16_t>           { enum { value = 1 }; };
 template <>          struct __libcpp_is_integral<char32_t>           { enum { value = 1 }; };
-#endif
 template <>          struct __libcpp_is_integral<short>              { enum { value = 1 }; };
 template <>          struct __libcpp_is_integral<unsigned short>     { enum { value = 1 }; };
 template <>          struct __libcpp_is_integral<int>                { enum { value = 1 }; };
index 5a8121d..3cfd981 100644 (file)
@@ -30,13 +30,10 @@ struct _IsSameAsAny : _Or<_IsSame<_Tp, _Up>...> {};
 
 template<class _Tp>
 concept __is_safe_integral_cmp = is_integral_v<_Tp> &&
-                      !_IsSameAsAny<_Tp, bool, char
+                      !_IsSameAsAny<_Tp, bool, char, char16_t, char32_t
 #ifndef _LIBCPP_HAS_NO_CHAR8_T
                                     , char8_t
 #endif
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-                                    , char16_t, char32_t
-#endif
 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
                                     , wchar_t
 #endif
index 6cb5586..9cd9450 100644 (file)
@@ -232,10 +232,8 @@ typedef fpos<mbstate_t>    wstreampos;
 #ifndef _LIBCPP_HAS_NO_CHAR8_T
 typedef fpos<mbstate_t>    u8streampos;
 #endif
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
 typedef fpos<mbstate_t>    u16streampos;
 typedef fpos<mbstate_t>    u32streampos;
-#endif
 
 #if defined(_NEWLIB_VERSION)
 // On newlib, off_t is 'long int'
index 9cfbb5f..fa939af 100644 (file)
@@ -540,6 +540,7 @@ basic_string<char32_t> operator "" s( const char32_t *str, size_t len );
 #include <__utility/unreachable.h>
 #include <climits>
 #include <compare>
+#include <cstdint>
 #include <cstdio>  // EOF
 #include <cstdlib>
 #include <cstring>
@@ -557,10 +558,6 @@ basic_string<char32_t> operator "" s( const char32_t *str, size_t len );
 #  include <cwchar>
 #endif
 
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-#  include <cstdint>
-#endif
-
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
@@ -621,11 +618,8 @@ struct __can_be_converted_to_string_view : public _BoolConstant<
 #ifndef _LIBCPP_HAS_NO_CHAR8_T
 typedef basic_string<char8_t> u8string;
 #endif
-
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
 typedef basic_string<char16_t> u16string;
 typedef basic_string<char32_t> u32string;
-#endif
 
 struct __uninitialized_size_tag {};
 
@@ -635,10 +629,8 @@ class
 #ifndef _LIBCPP_HAS_NO_CHAR8_T
     _LIBCPP_PREFERRED_NAME(u8string)
 #endif
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
     _LIBCPP_PREFERRED_NAME(u16string)
     _LIBCPP_PREFERRED_NAME(u32string)
-#endif
     basic_string
 {
 public:
index bb9eddb..4d6248b 100644 (file)
@@ -34,12 +34,10 @@ void full_size() {
   assert(wstr.max_size() == std::numeric_limits<size_t>::max() / sizeof(wchar_t) - alignment);
 #endif
 
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   std::u16string u16str;
   std::u32string u32str;
   assert(u16str.max_size() == std::numeric_limits<size_t>::max() / 2 - alignment);
   assert(u32str.max_size() == std::numeric_limits<size_t>::max() / 4 - alignment);
-#endif
 }
 
 void half_size() {
@@ -56,12 +54,10 @@ void half_size() {
   assert(wstr.max_size() == std::numeric_limits<size_t>::max() / std::max<size_t>(2ul, sizeof(wchar_t)) - alignment);
 #endif
 
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   std::u16string u16str;
   std::u32string u32str;
   assert(u16str.max_size() == std::numeric_limits<size_t>::max() / 2 - alignment);
   assert(u32str.max_size() == std::numeric_limits<size_t>::max() / 4 - alignment);
-#endif
 }
 
 bool test() {
index c90d528..34559f0 100644 (file)
@@ -177,10 +177,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<std::atomic_char8_t, char8_t>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<std::atomic_char16_t, char16_t>();
     test<std::atomic_char32_t, char32_t>();
-#endif
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
     test<std::atomic_wchar_t, wchar_t>();
 #endif
@@ -205,10 +203,8 @@ int main(int, char**)
     test<volatile std::atomic_ulong, unsigned long>();
     test<volatile std::atomic_llong, long long>();
     test<volatile std::atomic_ullong, unsigned long long>();
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<volatile std::atomic_char16_t, char16_t>();
     test<volatile std::atomic_char32_t, char32_t>();
-#endif
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
     test<volatile std::atomic_wchar_t, wchar_t>();
 #endif
index 9581676..92bef95 100644 (file)
@@ -60,10 +60,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     static_assert((std::is_same<std::atomic<char8_t>, std::atomic_char8_t>::value), "");
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     static_assert((std::is_same<std::atomic<char16_t>, std::atomic_char16_t>::value), "");
     static_assert((std::is_same<std::atomic<char32_t>, std::atomic_char32_t>::value), "");
-#endif
 
 //  Added by LWG 2441
     static_assert((std::is_same<std::atomic<intptr_t>,  std::atomic_intptr_t>::value), "");
index d8c683b..d1114e5 100644 (file)
@@ -29,10 +29,8 @@ static_assert(std::three_way_comparable<wchar_t&>);
 #ifndef TEST_HAS_NO_CHAR8_T
 static_assert(std::three_way_comparable<char8_t const&>);
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 static_assert(std::three_way_comparable<char16_t volatile&>);
 static_assert(std::three_way_comparable<char32_t const volatile&>);
-#endif
 #ifndef TEST_HAS_NO_INT128
 static_assert(std::three_way_comparable<__int128_t const&>);
 static_assert(std::three_way_comparable<__uint128_t const&>);
index adf4e8c..3f3ecbd 100644 (file)
@@ -49,10 +49,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>();
     test<char32_t>();
-#endif
     test<signed char>();
     test<unsigned char>();
     test<signed short>();
index 667bfc1..3fb4074 100644 (file)
@@ -36,10 +36,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>(0);
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>(0);
     test<char32_t>(0);
-#endif
     test<short>(0);
     test<unsigned short>(0);
     test<int>(0);
index c6964e6..4608a3d 100644 (file)
@@ -35,10 +35,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 8>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 16>();
     test<char32_t, 32>();
-#endif
     test<short, 15>();
     test<unsigned short, 16>();
     test<int, 31>();
index 6f835a6..41f134a 100644 (file)
@@ -39,10 +39,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 2>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 4>();
     test<char32_t, 9>();
-#endif
     test<short, 4>();
     test<unsigned short, 4>();
     test<int, 9>();
index 19f5ca7..d5f3bb0 100644 (file)
@@ -36,10 +36,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>(0);
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>(0);
     test<char32_t>(0);
-#endif
     test<short>(0);
     test<unsigned short>(0);
     test<int>(0);
index 08cc7e8..7ca5a3d 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, std::denorm_absent>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, std::denorm_absent>();
     test<char32_t, std::denorm_absent>();
-#endif
     test<short, std::denorm_absent>();
     test<unsigned short, std::denorm_absent>();
     test<int, std::denorm_absent>();
index 815c684..7b88f3c 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, false>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, false>();
     test<char32_t, false>();
-#endif
     test<short, false>();
     test<unsigned short, false>();
     test<int, false>();
index 48893b9..660953e 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, false>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, false>();
     test<char32_t, false>();
-#endif
     test<short, false>();
     test<unsigned short, false>();
     test<int, false>();
index 642234d..5a81863 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, false>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, false>();
     test<char32_t, false>();
-#endif
     test<short, false>();
     test<unsigned short, false>();
     test<int, false>();
index cbd63bd..ac4099e 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, false>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, false>();
     test<char32_t, false>();
-#endif
     test<short, false>();
     test<unsigned short, false>();
     test<int, false>();
index af7a526..93c6765 100644 (file)
@@ -38,10 +38,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>(0);
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>(0);
     test<char32_t>(0);
-#endif
     test<short>(0);
     test<unsigned short>(0);
     test<int>(0);
index 56d93be..ebbd8cc 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, true>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, true>();
     test<char32_t, true>();
-#endif
     test<short, true>();
     test<unsigned short, true>();
     test<int, true>();
index 4c465be..b48cb78 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, true>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, true>();
     test<char32_t, true>();
-#endif
     test<short, true>();
     test<unsigned short, true>();
     test<int, true>();
index 2f635ef..37f217e 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, false>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, false>();
     test<char32_t, false>();
-#endif
     test<short, false>();
     test<unsigned short, false>();
     test<int, false>();
index b8f038c..d2763a2 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, true>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, true>();
     test<char32_t, true>();
-#endif
     test<short, true>();
     test<unsigned short, true>();
     test<int, true>();
index e4ae9c7..962f54c 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, true>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, true>();
     test<char32_t, true>();
-#endif
     test<short, false>();
     test<unsigned short, true>();
     test<int, false>();
index 9c90019..5728804 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, false>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, false>();
     test<char32_t, false>();
-#endif
     test<short, true>();
     test<unsigned short, false>();
     test<int, true>();
index 6617ebc..db0c0f1 100644 (file)
@@ -47,10 +47,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>(0);
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>(0);
     test<char32_t>(0);
-#endif
     test<short>(SHRT_MIN);
     test<unsigned short>(0);
     test<int>(INT_MIN);
index ce900fa..2f7c1f8 100644 (file)
@@ -47,10 +47,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>(UCHAR_MAX); // ??
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>(USHRT_MAX);
     test<char32_t>(UINT_MAX);
-#endif
     test<short>(SHRT_MAX);
     test<unsigned short>(USHRT_MAX);
     test<int>(INT_MAX);
index 2ed75f2..b29d485 100644 (file)
@@ -35,10 +35,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 0>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 0>();
     test<char32_t, 0>();
-#endif
     test<short, 0>();
     test<unsigned short, 0>();
     test<int, 0>();
index 40c67fc..9288eb4 100644 (file)
@@ -35,10 +35,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 0>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 0>();
     test<char32_t, 0>();
-#endif
     test<short, 0>();
     test<unsigned short, 0>();
     test<int, 0>();
index 8ca9b6f..28ecc86 100644 (file)
@@ -35,10 +35,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 0>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 0>();
     test<char32_t, 0>();
-#endif
     test<short, 0>();
     test<unsigned short, 0>();
     test<int, 0>();
index c832a2b..0987736 100644 (file)
@@ -47,10 +47,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>(0);
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>(0);
     test<char32_t>(0);
-#endif
     test<short>(SHRT_MIN);
     test<unsigned short>(0);
     test<int>(INT_MIN);
index 3f3c0a3..8067248 100644 (file)
@@ -35,10 +35,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 0>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 0>();
     test<char32_t, 0>();
-#endif
     test<short, 0>();
     test<unsigned short, 0>();
     test<int, 0>();
index bf84646..2f9d8a4 100644 (file)
@@ -35,10 +35,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 0>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 0>();
     test<char32_t, 0>();
-#endif
     test<short, 0>();
     test<unsigned short, 0>();
     test<int, 0>();
index 5ead16d..a34b776 100644 (file)
@@ -55,10 +55,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>();
     test<char32_t>();
-#endif
     test<short>();
     test<unsigned short>();
     test<int>();
index d9084fc..c7e33ea 100644 (file)
@@ -35,10 +35,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, 2>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, 2>();
     test<char32_t, 2>();
-#endif
     test<short, 2>();
     test<unsigned short, 2>();
     test<int, 2>();
index 0649aac..bf1b13e 100644 (file)
@@ -36,10 +36,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>(0);
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>(0);
     test<char32_t>(0);
-#endif
     test<short>(0);
     test<unsigned short>(0);
     test<int>(0);
index 065621b..5b0b745 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, std::round_toward_zero>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, std::round_toward_zero>();
     test<char32_t, std::round_toward_zero>();
-#endif
     test<short, std::round_toward_zero>();
     test<unsigned short, std::round_toward_zero>();
     test<int, std::round_toward_zero>();
index c9cdaab..6c629a2 100644 (file)
@@ -55,10 +55,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t>();
     test<char32_t>();
-#endif // TEST_HAS_NO_UNICODE_CHARS
     test<short>();
     test<unsigned short>();
     test<int>();
index 3231a63..9cfc8e8 100644 (file)
@@ -34,10 +34,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, false>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, false>();
     test<char32_t, false>();
-#endif
     test<short, false>();
     test<unsigned short, false>();
     test<int, false>();
index 5d31958..a9b1e44 100644 (file)
@@ -41,10 +41,8 @@ int main(int, char**)
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     test<char8_t, integral_types_trap>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<char16_t, integral_types_trap>();
     test<char32_t, integral_types_trap>();
-#endif
     test<short, integral_types_trap>();
     test<unsigned short, integral_types_trap>();
     test<int, integral_types_trap>();
index b8eaeda..5bc3a23 100644 (file)
@@ -29,10 +29,8 @@ int main(int, char**) {
 #if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
     test_hash_enabled_for_type<std::u8string>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test_hash_enabled_for_type<std::u16string>();
     test_hash_enabled_for_type<std::u32string>();
-#endif
   }
 
   return 0;
index 3b272d3..6f90249 100644 (file)
@@ -46,10 +46,8 @@ int main(int, char**)
 #if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
     test<std::u8string>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<std::u16string>();
     test<std::u32string>();
-#endif
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
     test<std::wstring>();
 #endif
index ea976e1..2390144 100644 (file)
@@ -29,7 +29,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     char16_t c = u'\0';
     std::char_traits<char16_t>::assign(c, u'a');
@@ -39,7 +38,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index 972c060..bab76a6 100644 (file)
 
 TEST_CONSTEXPR_CXX20 bool test()
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char16_t s2[3] = {0};
     assert(std::char_traits<char16_t>::assign(s2, 3, char16_t(5)) == s2);
     assert(s2[0] == char16_t(5));
     assert(s2[1] == char16_t(5));
     assert(s2[2] == char16_t(5));
     assert(std::char_traits<char16_t>::assign(NULL, 0, char16_t(5)) == NULL);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return true;
 }
index cea2d7e..00664b7 100644 (file)
@@ -30,7 +30,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char16_t>::compare(u"", u"", 0) == 0);
     assert(std::char_traits<char16_t>::compare(NULL, NULL, 0) == 0);
@@ -57,7 +56,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index e6d90ad..fc0ab1a 100644 (file)
@@ -19,7 +19,6 @@
 
 TEST_CONSTEXPR_CXX20 bool test()
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char16_t s1[] = {1, 2, 3};
     char16_t s2[3] = {0};
     assert(std::char_traits<char16_t>::copy(s2, s1, 3) == s2);
@@ -28,9 +27,8 @@ TEST_CONSTEXPR_CXX20 bool test()
     assert(s2[2] == char16_t(3));
     assert(std::char_traits<char16_t>::copy(NULL, s1, 0) == NULL);
     assert(std::char_traits<char16_t>::copy(s1, NULL, 0) == s1);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return true;
+    return true;
 }
 
 int main(int, char**)
@@ -41,5 +39,5 @@ int main(int, char**)
     static_assert(test());
 #endif
 
-  return 0;
+    return 0;
 }
index cf9fc07..8996cc9 100644 (file)
 // static constexpr int_type eof();
 
 #include <string>
-#include <cassert>
-
-#include "test_macros.h"
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     std::char_traits<char16_t>::int_type i = std::char_traits<char16_t>::eof();
     ((void)i); // Prevent unused warning
-#endif
-
-  return 0;
+    return 0;
 }
index ae4caeb..540ee40 100644 (file)
 
 // static constexpr bool eq(char_type c1, char_type c2);
 
+// UNSUPPORTED: c++03
+
 #include <string>
 #include <cassert>
 
-#include "test_macros.h"
-
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
-#if TEST_STD_VER >= 11
     assert(std::char_traits<char16_t>::eq(u'a', u'a'));
     assert(!std::char_traits<char16_t>::eq(u'a', u'A'));
-#endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
-
-  return 0;
+    return 0;
 }
index 8f49ae6..2976031 100644 (file)
@@ -19,7 +19,6 @@
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert( std::char_traits<char16_t>::eq_int_type(u'a', u'a'));
     assert(!std::char_traits<char16_t>::eq_int_type(u'a', u'A'));
@@ -27,7 +26,6 @@ int main(int, char**)
 #endif
     assert( std::char_traits<char16_t>::eq_int_type(std::char_traits<char16_t>::eof(),
                                                     std::char_traits<char16_t>::eof()));
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index bcd765a..8b39f4a 100644 (file)
@@ -31,7 +31,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char16_t s1[] = {1, 2, 3};
     assert(std::char_traits<char16_t>::find(s1, 3, char16_t(1)) == s1);
     assert(std::char_traits<char16_t>::find(s1, 3, char16_t(2)) == s1+1);
@@ -43,7 +42,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index f4a045b..28940e6 100644 (file)
@@ -28,7 +28,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char16_t>::length(u"") == 0);
     assert(std::char_traits<char16_t>::length(u"a") == 1);
@@ -40,7 +39,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index 72669d4..960e6f8 100644 (file)
 
 // static constexpr bool lt(char_type c1, char_type c2);
 
+// UNSUPPORTED: c++03
+
 #include <string>
 #include <cassert>
 
-#include "test_macros.h"
-
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
-#if TEST_STD_VER >= 11
     assert(!std::char_traits<char16_t>::lt(u'a', u'a'));
     assert( std::char_traits<char16_t>::lt(u'A', u'a'));
-#endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
-
-  return 0;
+    return 0;
 }
index b9334ba..d011d7c 100644 (file)
@@ -19,7 +19,6 @@
 
 TEST_CONSTEXPR_CXX20 bool test()
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char16_t s1[] = {1, 2, 3};
     assert(std::char_traits<char16_t>::move(s1, s1+1, 2) == s1);
     assert(s1[0] == char16_t(2));
@@ -32,9 +31,8 @@ TEST_CONSTEXPR_CXX20 bool test()
     assert(s1[2] == char16_t(3));
     assert(std::char_traits<char16_t>::move(NULL, s1, 0) == NULL);
     assert(std::char_traits<char16_t>::move(s1, NULL, 0) == s1);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return true;
+    return true;
 }
 
 int main(int, char**)
index 6219f52..3db7de1 100644 (file)
@@ -19,7 +19,6 @@
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char16_t>::not_eof(u'a') == u'a');
     assert(std::char_traits<char16_t>::not_eof(u'A') == u'A');
@@ -27,7 +26,6 @@ int main(int, char**)
     assert(std::char_traits<char16_t>::not_eof(0) == 0);
     assert(std::char_traits<char16_t>::not_eof(std::char_traits<char16_t>::eof()) !=
            std::char_traits<char16_t>::eof());
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index ba3208d..89e5ba2 100644 (file)
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char16_t>::to_char_type(u'a') == u'a');
     assert(std::char_traits<char16_t>::to_char_type(u'A') == u'A');
 #endif
     assert(std::char_traits<char16_t>::to_char_type(0) == 0);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index e15ed90..442a2ae 100644 (file)
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char16_t>::to_int_type(u'a') == u'a');
     assert(std::char_traits<char16_t>::to_int_type(u'A') == u'A');
 #endif
     assert(std::char_traits<char16_t>::to_int_type(0) == 0);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index 4ccf846..6624f50 100644 (file)
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     static_assert((std::is_same<std::char_traits<char16_t>::char_type, char16_t>::value), "");
     static_assert((std::is_same<std::char_traits<char16_t>::int_type, std::uint_least16_t>::value), "");
     static_assert((std::is_same<std::char_traits<char16_t>::off_type, std::streamoff>::value), "");
     static_assert((std::is_same<std::char_traits<char16_t>::pos_type, std::u16streampos>::value), "");
     static_assert((std::is_same<std::char_traits<char16_t>::state_type, std::mbstate_t>::value), "");
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index 4e0fd77..2ecaa79 100644 (file)
@@ -29,7 +29,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     char32_t c = U'\0';
     std::char_traits<char32_t>::assign(c, U'a');
@@ -39,7 +38,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index 39f8e30..cf9ec1a 100644 (file)
 
 TEST_CONSTEXPR_CXX20 bool test()
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char32_t s2[3] = {0};
     assert(std::char_traits<char32_t>::assign(s2, 3, char32_t(5)) == s2);
     assert(s2[0] == char32_t(5));
     assert(s2[1] == char32_t(5));
     assert(s2[2] == char32_t(5));
     assert(std::char_traits<char32_t>::assign(NULL, 0, char32_t(5)) == NULL);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return true;
+    return true;
 }
 
 int main(int, char**)
index 9b312f0..7cce879 100644 (file)
@@ -29,7 +29,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char32_t>::compare(U"", U"", 0) == 0);
     assert(std::char_traits<char32_t>::compare(NULL, NULL, 0) == 0);
@@ -56,7 +55,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
   return 0;
 }
index 997a7a3..f030309 100644 (file)
@@ -19,7 +19,6 @@
 
 TEST_CONSTEXPR_CXX20 bool test()
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char32_t s1[] = {1, 2, 3};
     char32_t s2[3] = {0};
     assert(std::char_traits<char32_t>::copy(s2, s1, 3) == s2);
@@ -28,9 +27,8 @@ TEST_CONSTEXPR_CXX20 bool test()
     assert(s2[2] == char32_t(3));
     assert(std::char_traits<char32_t>::copy(NULL, s1, 0) == NULL);
     assert(std::char_traits<char32_t>::copy(s1, NULL, 0) == s1);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return true;
+    return true;
 }
 
 int main(int, char**)
index 5d7e153..84268bb 100644 (file)
 
 // static constexpr bool eq(char_type c1, char_type c2);
 
+// UNSUPPORTED: c++03
+
 #include <string>
 #include <cassert>
 
-#include "test_macros.h"
-
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
-#if TEST_STD_VER >= 11
     assert(std::char_traits<char32_t>::eq(U'a', U'a'));
     assert(!std::char_traits<char32_t>::eq(U'a', U'A'));
-#endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
-
-  return 0;
+    return 0;
 }
index 8f2aa31..c90137d 100644 (file)
@@ -19,7 +19,6 @@
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert( std::char_traits<char32_t>::eq_int_type(U'a', U'a'));
     assert(!std::char_traits<char32_t>::eq_int_type(U'a', U'A'));
@@ -27,7 +26,6 @@ int main(int, char**)
 #endif
     assert( std::char_traits<char32_t>::eq_int_type(std::char_traits<char32_t>::eof(),
                                                     std::char_traits<char32_t>::eof()));
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index 566eb36..9f856ba 100644 (file)
@@ -31,7 +31,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char32_t s1[] = {1, 2, 3};
     assert(std::char_traits<char32_t>::find(s1, 3, char32_t(1)) == s1);
     assert(std::char_traits<char32_t>::find(s1, 3, char32_t(2)) == s1+1);
@@ -43,7 +42,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index f9e98df..985efa1 100644 (file)
@@ -28,7 +28,6 @@ constexpr bool test_constexpr()
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char32_t>::length(U"") == 0);
     assert(std::char_traits<char32_t>::length(U"a") == 1);
@@ -40,7 +39,6 @@ int main(int, char**)
 #if TEST_STD_VER > 14
     static_assert(test_constexpr(), "" );
 #endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index 02de437..7d7b484 100644 (file)
 
 // static constexpr bool lt(char_type c1, char_type c2);
 
+// UNSUPPORTED: c++03
+
 #include <string>
 #include <cassert>
 
-#include "test_macros.h"
-
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
-#if TEST_STD_VER >= 11
     assert(!std::char_traits<char32_t>::lt(U'a', U'a'));
     assert( std::char_traits<char32_t>::lt(U'A', U'a'));
-#endif
-#endif // TEST_HAS_NO_UNICODE_CHARS
-
-  return 0;
+    return 0;
 }
index ac31c98..930a1fe 100644 (file)
@@ -19,7 +19,6 @@
 
 TEST_CONSTEXPR_CXX20 bool test()
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     char32_t s1[] = {1, 2, 3};
     assert(std::char_traits<char32_t>::move(s1, s1+1, 2) == s1);
     assert(s1[0] == char32_t(2));
@@ -32,9 +31,8 @@ TEST_CONSTEXPR_CXX20 bool test()
     assert(s1[2] == char32_t(3));
     assert(std::char_traits<char32_t>::move(NULL, s1, 0) == NULL);
     assert(std::char_traits<char32_t>::move(s1, NULL, 0) == s1);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return true;
+    return true;
 }
 
 int main(int, char**)
index 88aed22..7e58454 100644 (file)
@@ -19,7 +19,6 @@
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char32_t>::not_eof(U'a') == U'a');
     assert(std::char_traits<char32_t>::not_eof(U'A') == U'A');
@@ -27,7 +26,6 @@ int main(int, char**)
     assert(std::char_traits<char32_t>::not_eof(0) == 0);
     assert(std::char_traits<char32_t>::not_eof(std::char_traits<char32_t>::eof()) !=
            std::char_traits<char32_t>::eof());
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index fb65b6b..a01d1e5 100644 (file)
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char32_t>::to_char_type(U'a') == U'a');
     assert(std::char_traits<char32_t>::to_char_type(U'A') == U'A');
 #endif
     assert(std::char_traits<char32_t>::to_char_type(0) == 0);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
index 7d07271..a12b690 100644 (file)
 
 int main(int, char**)
 {
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 #if TEST_STD_VER >= 11
     assert(std::char_traits<char32_t>::to_int_type(U'a') == U'a');
     assert(std::char_traits<char32_t>::to_int_type(U'A') == U'A');
 #endif
     assert(std::char_traits<char32_t>::to_int_type(0) == 0);
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
-  return 0;
+    return 0;
 }
 #include <type_traits>
 #include <cstdint>
 
-#include "test_macros.h"
-
-int main(int, char**)
-{
-#ifndef TEST_HAS_NO_UNICODE_CHARS
-    static_assert((std::is_same<std::char_traits<char32_t>::char_type, char32_t>::value), "");
-    static_assert((std::is_same<std::char_traits<char32_t>::int_type, std::uint_least32_t>::value), "");
-    static_assert((std::is_same<std::char_traits<char32_t>::off_type, std::streamoff>::value), "");
-    static_assert((std::is_same<std::char_traits<char32_t>::pos_type, std::u32streampos>::value), "");
-    static_assert((std::is_same<std::char_traits<char32_t>::state_type, std::mbstate_t>::value), "");
-#endif // TEST_HAS_NO_UNICODE_CHARS
-
-  return 0;
-}
+static_assert((std::is_same<std::char_traits<char32_t>::char_type, char32_t>::value), "");
+static_assert((std::is_same<std::char_traits<char32_t>::int_type, std::uint_least32_t>::value), "");
+static_assert((std::is_same<std::char_traits<char32_t>::off_type, std::streamoff>::value), "");
+static_assert((std::is_same<std::char_traits<char32_t>::pos_type, std::u32streampos>::value), "");
+static_assert((std::is_same<std::char_traits<char32_t>::state_type, std::mbstate_t>::value), "");
 
 #include "test_macros.h"
 
-int main(int, char**)
-{
-    static_assert((std::is_same<std::string, std::basic_string<char> >::value), "");
+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), "");
+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
-    static_assert((std::is_same<std::u8string, std::basic_string<char8_t> >::value), "");
+static_assert((std::is_same<std::u8string, std::basic_string<char8_t> >::value), "");
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
-    static_assert((std::is_same<std::u16string, std::basic_string<char16_t> >::value), "");
-    static_assert((std::is_same<std::u32string, std::basic_string<char32_t> >::value), "");
-#endif // TEST_HAS_NO_UNICODE_CHARS
-
-  return 0;
-}
+static_assert((std::is_same<std::u16string, std::basic_string<char16_t> >::value), "");
+static_assert((std::is_same<std::u32string, std::basic_string<char32_t> >::value), "");
index 7ab7b32..3007412 100644 (file)
@@ -37,10 +37,8 @@ int main(int, char**) {
     assert( test<std::u8string_view>  (u8"1234"));
 #endif
 #if TEST_STD_VER >= 11
-#   ifndef TEST_HAS_NO_UNICODE_CHARS
     assert( test<std::u16string_view> ( u"1234"));
     assert( test<std::u32string_view> ( U"1234"));
-#   endif
 #endif
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
     assert( test<std::wstring_view>   ( L"1234"));
@@ -51,10 +49,8 @@ int main(int, char**) {
 #   if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
     static_assert( test<std::u8string_view>  ({u8"abc", 3}), "");
 #   endif
-#   ifndef TEST_HAS_NO_UNICODE_CHARS
     static_assert( test<std::u16string_view> ({ u"abc", 3}), "");
     static_assert( test<std::u32string_view> ({ U"abc", 3}), "");
-#   endif
 #   ifndef TEST_HAS_NO_WIDE_CHARACTERS
     static_assert( test<std::wstring_view>   ({ L"abc", 3}), "");
 #   endif
index 6c72cc5..eba68d4 100644 (file)
@@ -30,10 +30,8 @@ int main(int, char**) {
 #if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
     test_hash_enabled_for_type<std::u8string_view>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test_hash_enabled_for_type<std::u16string_view>();
     test_hash_enabled_for_type<std::u32string_view>();
-#endif
   }
 
   return 0;
index 1994257..56e39a4 100644 (file)
@@ -63,10 +63,8 @@ int main(int, char**)
 #if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
     test<std::u8string_view>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     test<std::u16string_view>();
     test<std::u32string_view>();
-#endif
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
     test<std::wstring_view>();
 #endif
index 542467d..5591c31 100644 (file)
@@ -36,10 +36,8 @@ void test() {
 #ifndef TEST_HAS_NO_CHAR8_T
   test<char8_t>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test<char16_t>();
   test<char32_t>();
-#endif
 }
 
 int main(int, char**) {
index dbd2cbe..da6b5d1 100644 (file)
@@ -56,7 +56,6 @@ void test() {
       std::make_format_args<std::basic_format_context<
           std::back_insert_iterator<std::basic_string<char8_t>>, char8_t>>()));
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test(std::basic_format_args(
       std::make_format_args<std::basic_format_context<
           std::back_insert_iterator<std::basic_string<char16_t>>,
@@ -65,7 +64,6 @@ void test() {
       std::make_format_args<std::basic_format_context<
           std::back_insert_iterator<std::basic_string<char32_t>>,
           char32_t>>()));
-#endif
 }
 
 int main(int, char**) {
index f752a54..928f668 100644 (file)
@@ -52,7 +52,6 @@ void test() {
       std::make_format_args<std::basic_format_context<
           std::back_insert_iterator<std::basic_string<char8_t>>, char8_t>>()));
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test(std::basic_format_args(
       std::make_format_args<std::basic_format_context<
           std::back_insert_iterator<std::basic_string<char16_t>>,
@@ -61,7 +60,6 @@ void test() {
       std::make_format_args<std::basic_format_context<
           std::back_insert_iterator<std::basic_string<char32_t>>,
           char32_t>>()));
-#endif
 }
 
 int main(int, char**) {
index 957d373..6b4afcb 100644 (file)
@@ -54,10 +54,8 @@ constexpr bool test() {
 #ifndef TEST_HAS_NO_CHAR8_T
   test(u8"abc");
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test(u"abc");
   test(U"abc");
-#endif
 
   return true;
 }
index 86a5cc9..63122dc 100644 (file)
@@ -40,10 +40,8 @@ constexpr bool test() {
 #ifndef TEST_HAS_NO_CHAR8_T
   test(u8"abc");
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test(u"abc");
   test(U"abc");
-#endif
 
   return true;
 }
index e7595d8..2a06751 100644 (file)
@@ -63,10 +63,8 @@ constexpr bool test() {
 #ifndef TEST_HAS_NO_CHAR8_T
   test(u8"abc");
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test(u"abc");
   test(U"abc");
-#endif
 
   return true;
 }
index 4924973..e135418 100644 (file)
@@ -40,10 +40,8 @@ constexpr bool test() {
 #ifndef TEST_HAS_NO_CHAR8_T
   test(u8"abc");
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test(u"abc");
   test(U"abc");
-#endif
 
   return true;
 }
index 64ae670..eaa18a4 100644 (file)
@@ -52,10 +52,8 @@ constexpr void test() {
 #ifndef TEST_HAS_NO_CHAR8_T
   test<char8_t>();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test<char16_t>();
   test<char32_t>();
-#endif
 }
 
 static_assert(std::is_same_v<std::format_parse_context,
index 542bb45..07ea511 100644 (file)
@@ -97,7 +97,6 @@ constexpr void test_char8t() {
 }
 #endif // TEST_HAS_NO_CHAR8_T
 
-#ifndef TEST_HAS_NO_UNICODE_CHARS
 template <class T>
 constexpr void test_uchars() {
   std::cmp_equal(T(), T()); // expected-error 2 {{no matching function for call to 'cmp_equal'}}
@@ -121,7 +120,6 @@ constexpr void test_uchars() {
   std::in_range<T>(int()); // expected-error 2 {{no matching function for call to 'in_range'}}
   std::in_range<int>(T()); // expected-error 2 {{no matching function for call to 'in_range'}}
 }
-#endif // TEST_HAS_NO_UNICODE_CHARS
 
 int main(int, char**) {
   test<bool>();
@@ -142,10 +140,8 @@ int main(int, char**) {
   test_char8t<char8_t>();
 #endif // TEST_HAS_NO_CHAR8_T
 
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   test_uchars<char16_t>();
   test_uchars<char32_t>();
-#endif
 
   return 0;
 }
index cc5c6e0..dc38b7b 100644 (file)
@@ -81,10 +81,8 @@ struct TestEachIntegralType {
 #if TEST_STD_VER > 17 && defined(__cpp_char8_t)
     TestFunctor<char8_t>()();
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
     TestFunctor<char16_t>()();
     TestFunctor<char32_t>()();
-#endif
     TestFunctor<int8_t>()();
     TestFunctor<uint8_t>()();
     TestFunctor<int16_t>()();
index a0271e4..c39be5f 100644 (file)
@@ -60,10 +60,8 @@ using LibraryHashTypes = TypeList<
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
       wchar_t,
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
       char16_t,
       char32_t,
-#endif
       short,
       unsigned short,
       int,
index d087166..4cee361 100644 (file)
@@ -37,7 +37,6 @@ int main(int, char**) {
     == u8" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
 #endif
-#ifndef TEST_HAS_NO_UNICODE_CHARS
   assert(MAKE_STRING(char16_t,
          " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
@@ -49,7 +48,6 @@ int main(int, char**) {
              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
     ==  U" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
-#endif
 
   // clang-format on
   return 0;
index 4502574..89fa90f 100644 (file)
@@ -363,10 +363,6 @@ inline void DoNotOptimize(Tp const& value) {
 #   define TEST_HAS_NO_INT128
 #endif
 
-#if defined(_LIBCPP_HAS_NO_UNICODE_CHARS)
-#   define TEST_HAS_NO_UNICODE_CHARS
-#endif
-
 #if defined(_LIBCPP_HAS_NO_LOCALIZATION)
 #  define TEST_HAS_NO_LOCALIZATION
 #endif