]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Remove unnecessary uses of _GLIBCXX_USE_WCHAR_T in testsuite [PR98725]
authorJonathan Wakely <jwakely@redhat.com>
Fri, 8 Oct 2021 19:48:35 +0000 (20:48 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Fri, 8 Oct 2021 23:57:50 +0000 (00:57 +0100)
Now that std::wstring and other specializations for wchar_t are defined
unconditionally, many checks for _GLIBCXX_USE_WCHAR_T in the testsuite
are unnecessary and can be removed. Tests for iostreams, locales, regex
and filesystem::path still need to be guarded by _GLIBCXX_USE_WCHAR_T
because those components depend on libc support in <wchar.h> and other
headers.

libstdc++-v3/ChangeLog:

PR libstdc++/98725
* testsuite/18_support/numeric_limits/lowest.cc: Remove use of
_GLIBCXX_USE_WCHAR_T.
* testsuite/18_support/numeric_limits/min_max.cc: Replace use of
_GLIBCXX_USE_WCHAR_T with checks for WCHAR_MIN and WCHAR_MAX.
* testsuite/20_util/from_chars/1_neg.cc: Remove use of
_GLIBCXX_USE_WCHAR_T.
* testsuite/20_util/function_objects/searchers.cc: Likewise. Use
char_traits<wchar_t>::length instead of wcslen.
* testsuite/20_util/hash/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_arithmetic/value.cc: Likewise.
* testsuite/20_util/is_compound/value.cc: Likewise.
* testsuite/20_util/is_floating_point/value.cc: Likewise.
* testsuite/20_util/is_fundamental/value.cc: Likewise.
* testsuite/20_util/is_integral/value.cc: Likewise.
* testsuite/20_util/is_signed/value.cc: Likewise.
* testsuite/20_util/is_unsigned/value.cc: Likewise.
* testsuite/20_util/is_void/value.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-4.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
Likewise.
* testsuite/20_util/to_chars/3.cc: Likewise.
* testsuite/20_util/type_identity/requirements/typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string/hash/debug.cc: Likewise.
* testsuite/21_strings/basic_string/hash/hash.cc: Likewise.
* testsuite/21_strings/basic_string/literals/types-char8_t.cc:
Likewise.
* testsuite/21_strings/basic_string/literals/types.cc: Likewise.
* testsuite/21_strings/basic_string/literals/values-char8_t.cc:
Likewise.
* testsuite/21_strings/basic_string/literals/values.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/64422.cc:
Likewise.
* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string/requirements/citerators.cc:
Likewise.
* testsuite/21_strings/basic_string/requirements/typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/types.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
Likewise.
* testsuite/21_strings/basic_string_view/literals/values.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
* testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
Likewise.
* testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise.
* testsuite/25_algorithms/fill/4.cc: Likewise.
* testsuite/25_algorithms/fill_n/1.cc: Likewise.
* testsuite/experimental/functional/searchers.cc: Likewise. Use
char_traits<wchar_t>::length instead of wcslen.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
Likewise.
* testsuite/experimental/string_view/literals/types-char8_t.cc:
Likewise.
* testsuite/experimental/string_view/literals/types.cc:
Likewise.
* testsuite/experimental/string_view/literals/values-char8_t.cc:
Likewise.
* testsuite/experimental/string_view/literals/values.cc:
Likewise.
* testsuite/experimental/string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/requirements/typedefs.cc:
Likewise.
* testsuite/experimental/string_view/typedefs.cc: Likewise.
* testsuite/ext/vstring/range_access.cc: Likewise.
* testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
Likewise.
* testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc:
Likewise.
* testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc:
Likewise.
* testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc:
Likewise.
* testsuite/tr1/4_metaprogramming/is_compound/value.cc:
Likewise.
* testsuite/tr1/4_metaprogramming/is_floating_point/value.cc:
Likewise.
* testsuite/tr1/4_metaprogramming/is_fundamental/value.cc:
Likewise.
* testsuite/tr1/4_metaprogramming/is_integral/value.cc:
Likewise.
* testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
* testsuite/tr1/4_metaprogramming/is_unsigned/value.cc:
Likewise.
* testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
* testsuite/tr1/6_containers/hash/24799.cc: Likewise.

67 files changed:
libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc
libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc
libstdc++-v3/testsuite/20_util/from_chars/1_neg.cc
libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
libstdc++-v3/testsuite/20_util/hash/requirements/explicit_instantiation.cc
libstdc++-v3/testsuite/20_util/is_arithmetic/value.cc
libstdc++-v3/testsuite/20_util/is_compound/value.cc
libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
libstdc++-v3/testsuite/20_util/is_fundamental/value.cc
libstdc++-v3/testsuite/20_util/is_integral/value.cc
libstdc++-v3/testsuite/20_util/is_signed/value.cc
libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
libstdc++-v3/testsuite/20_util/is_void/value.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc
libstdc++-v3/testsuite/20_util/to_chars/3.cc
libstdc++-v3/testsuite/20_util/type_identity/requirements/typedefs.cc
libstdc++-v3/testsuite/21_strings/basic_string/hash/debug.cc
libstdc++-v3/testsuite/21_strings/basic_string/hash/hash.cc
libstdc++-v3/testsuite/21_strings/basic_string/literals/types-char8_t.cc
libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc
libstdc++-v3/testsuite/21_strings/basic_string/literals/values-char8_t.cc
libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc
libstdc++-v3/testsuite/21_strings/basic_string/modifiers/64422.cc
libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc
libstdc++-v3/testsuite/21_strings/basic_string/requirements/citerators.cc
libstdc++-v3/testsuite/21_strings/basic_string/requirements/typedefs.cc
libstdc++-v3/testsuite/21_strings/basic_string/types/pmr_typedefs.cc
libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types-char8_t.cc
libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types.cc
libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values-char8_t.cc
libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc
libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/typedefs.cc
libstdc++-v3/testsuite/21_strings/basic_string_view/typedefs.cc
libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc
libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc
libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc
libstdc++-v3/testsuite/22_locale/ctype/is/string/89728_neg.cc
libstdc++-v3/testsuite/25_algorithms/fill/4.cc
libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
libstdc++-v3/testsuite/experimental/functional/searchers.cc
libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc
libstdc++-v3/testsuite/experimental/string_view/literals/types-char8_t.cc
libstdc++-v3/testsuite/experimental/string_view/literals/types.cc
libstdc++-v3/testsuite/experimental/string_view/literals/values-char8_t.cc
libstdc++-v3/testsuite/experimental/string_view/literals/values.cc
libstdc++-v3/testsuite/experimental/string_view/range_access/wchar_t/1.cc
libstdc++-v3/testsuite/experimental/string_view/requirements/typedefs.cc
libstdc++-v3/testsuite/experimental/string_view/typedefs.cc
libstdc++-v3/testsuite/ext/vstring/range_access.cc
libstdc++-v3/testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc
libstdc++-v3/testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc
libstdc++-v3/testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc
libstdc++-v3/testsuite/tr1/6_containers/hash/24799.cc

index b44dcf4282607f8190d8e9795db917922c2e973b..54866966ee02b8aff1ec86414ff153ad425a367b 100644 (file)
@@ -52,9 +52,7 @@ void test01()
   do_test<char>();
   do_test<signed char>();
   do_test<unsigned char>();
-#ifdef _GLIBCXX_USE_WCHAR_T
   do_test<wchar_t>();
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   do_test<char8_t>();
 #endif
index f617e9399e225788e29e84d69d8919a3e5ac72be..6a76a93d3bbeb812043724d456a7be390ce5f08e 100644 (file)
@@ -48,9 +48,9 @@ DEFINE_EXTREMA(unsigned, 0U, UINT_MAX);
 DEFINE_EXTREMA(long, LONG_MIN, LONG_MAX);
 DEFINE_EXTREMA(unsigned long, 0UL, ULONG_MAX);
 
-#if _GLIBCXX_USE_WCHAR_T
+#if defined WCHAR_MIN && defined WCHAR_MAX
 DEFINE_EXTREMA(wchar_t, WCHAR_MIN, WCHAR_MAX);
-#endif //_GLIBCXX_USE_WCHAR_T
+#endif
 
 DEFINE_EXTREMA(float, FLT_MIN, FLT_MAX);
 DEFINE_EXTREMA(double, DBL_MIN, DBL_MAX);
@@ -74,7 +74,7 @@ int main()
   test_extrema<char>();
   test_extrema<signed char>();
   test_extrema<unsigned char>();
-  
+
   test_extrema<short>();
   test_extrema<unsigned short>();
 
index 890cd826ee8673c0eb71a68e01aa218bcc775048..08bd63a854b5cf0d0df6da2998cf01e3553cc9a4 100644 (file)
 void
 test01(const char* first, const char* last)
 {
-#if _GLIBCXX_USE_WCHAR_T
   wchar_t wc;
-#else
-  enum W { } wc;
-#endif
   std::from_chars(first, last, wc); // { dg-error "no matching" }
   std::from_chars(first, last, wc, 10); // { dg-error "no matching" }
 
index f8899659cbed44228855e44e322ff996ec2cf013..bd32776a6105caf4407257970693fb4481310ce5 100644 (file)
 // { dg-do run { target c++17 } }
 
 #include <functional>
+#include <string_view>
 #include <cstring>
 #include <cctype>
-#ifdef _GLIBCXX_USE_WCHAR_T
-# include <cwchar>
-#endif
 #include <algorithm>
 #include <testsuite_hooks.h>
 
@@ -84,7 +82,6 @@ test01()
 void
 test02()
 {
-#ifdef _GLIBCXX_USE_WCHAR_T
   const wchar_t s[] = { L'a', (wchar_t)-97, L'a', L'\0' };
   const wchar_t* needles[] = {
     s, L"", L"a", L"aa", L"aaa", L"ab", L"cd", L"abcd", L"abcdabcd", L"abcabcd"
@@ -96,14 +93,14 @@ test02()
 
   for (auto n : needles)
   {
-    auto nlen = std::wcslen(n);
+    auto nlen = std::char_traits<wchar_t>::length(n);
     auto ne = n + nlen;
     default_searcher d(n, ne);
     boyer_moore_searcher bm(n, ne);
     boyer_moore_horspool_searcher bmh(n, ne);
     for (auto h : haystacks)
     {
-      auto he = h + std::wcslen(h);
+      auto he = h + std::char_traits<wchar_t>::length(h);
       auto res = std::search(h, he, n, ne);
       auto d_res = d(h, he);
       VERIFY( d_res.first == res );
@@ -125,7 +122,6 @@ test02()
        VERIFY( bmh_res.second == (bmh_res.first + nlen) );
     }
   }
-#endif
 }
 
 void
index 0f45ddbf0b3b690ed9695cd10743ce1223311ae6..9f76daae381d4d92409e15e21316a630c09bb1a5 100644 (file)
@@ -47,8 +47,5 @@ template class std::hash<std::error_code>;
 template class std::hash<std::error_condition>;
 #endif
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 template class std::hash<wchar_t>;
 template class std::hash<std::wstring>;
-#endif
-
index 6cb5d42e2ce30afdf56310e2205446f8c84fe427..644830a95d2f5629dad08616a7431223c232a590 100644 (file)
@@ -30,9 +30,7 @@ void test01()
   static_assert(test_category<is_arithmetic, char>(true), "");
   static_assert(test_category<is_arithmetic, signed char>(true), "");
   static_assert(test_category<is_arithmetic, unsigned char>(true), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_arithmetic, wchar_t>(true), "");
-#endif
   static_assert(test_category<is_arithmetic, short>(true), "");
   static_assert(test_category<is_arithmetic, unsigned short>(true), "");
   static_assert(test_category<is_arithmetic, int>(true), "");
index be2e1b9923224995903631bb32525ffdbb975a2d..1ffa133b604fb78d77c8a949769c05a5452636b7 100644 (file)
@@ -29,9 +29,7 @@ void test01()
   static_assert(test_category<is_compound, char>(false), "");
   static_assert(test_category<is_compound, signed char>(false), "");
   static_assert(test_category<is_compound, unsigned char>(false), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_compound, wchar_t>(false), "");
-#endif
   static_assert(test_category<is_compound, short>(false), "");
   static_assert(test_category<is_compound, unsigned short>(false), "");
   static_assert(test_category<is_compound, int>(false), "");
index c84351c706f965189fee9988572bc9aa1e5c7467..ad4aeeaa6c6d9d005aa6878cb37378bb49bbf015 100644 (file)
@@ -30,9 +30,7 @@ void test01()
   static_assert(test_category<is_floating_point, char>(false), "");
   static_assert(test_category<is_floating_point, signed char>(false), "");
   static_assert(test_category<is_floating_point, unsigned char>(false), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_floating_point, wchar_t>(false), "");
-#endif
   static_assert(test_category<is_floating_point, short>(false), "");
   static_assert(test_category<is_floating_point, unsigned short>(false), "");
   static_assert(test_category<is_floating_point, int>(false), "");
index cb2622eb52afdc3e87e4dbf77f162aac176e8b24..f3c7a7645f0d406dd0ff6795dd250ecd4a031b1e 100644 (file)
@@ -24,14 +24,12 @@ void test01()
 {
   using std::is_fundamental;
   using namespace __gnu_test;
-  
+
   static_assert(test_category<is_fundamental, void>(true), "");
   static_assert(test_category<is_fundamental, char>(true), "");
   static_assert(test_category<is_fundamental, signed char>(true), "");
   static_assert(test_category<is_fundamental, unsigned char>(true), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_fundamental, wchar_t>(true), "");
-#endif
   static_assert(test_category<is_fundamental, short>(true), "");
   static_assert(test_category<is_fundamental, unsigned short>(true), "");
   static_assert(test_category<is_fundamental, int>(true), "");
index 44962b55895dc312cdd6ee8e03c379c1bc958242..043601706fec61ed41513d23a4bf2534bb9184f1 100644 (file)
@@ -28,13 +28,11 @@ void test01()
   using namespace __gnu_test;
 
   static_assert(test_category<is_integral, void>(false), "");
-  
+
   static_assert(test_category<is_integral, char>(true), "");
   static_assert(test_category<is_integral, signed char>(true), "");
   static_assert(test_category<is_integral, unsigned char>(true), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_integral, wchar_t>(true), "");
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   static_assert(test_category<is_integral, char8_t>(true), "");
 #endif
index 8d17e972090a87ce58c3e3dfdf38ca1bdab53b6f..cce9ac2a555bf962c2eb0218114e8374beaef212 100644 (file)
@@ -26,16 +26,14 @@ void test01()
 {
   using std::is_signed;
   using namespace __gnu_test;
-  
+
   static_assert(test_category<is_signed, void>(false), "");
-  
+
   static_assert(test_category<is_signed, char>(char(-1) < char(0)), "");
   static_assert(test_category<is_signed, signed char>(true), "");
   static_assert(test_category<is_signed, unsigned char>(false), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_signed, wchar_t>
                (wchar_t(-1) < wchar_t(0)), "");
-#endif
   static_assert(test_category<is_signed, short>(true), "");
   static_assert(test_category<is_signed, unsigned short>(false), "");
   static_assert(test_category<is_signed, int>(true), "");
index d682220358b039b6c26457793bafef34e8b08383..37a52b8e99b93379cba9c14684b2c7c70b49a6fb 100644 (file)
@@ -28,14 +28,12 @@ void test01()
   using namespace __gnu_test;
 
   static_assert(test_category<is_unsigned, void>(false), "");
-  
+
   static_assert(test_category<is_unsigned, char>(char(-1) > char(0)), "");
   static_assert(test_category<is_unsigned, signed char>(false), "");
   static_assert(test_category<is_unsigned, unsigned char>(true), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_unsigned, wchar_t>
                (wchar_t(-1) > wchar_t(0)), "");
-#endif
   static_assert(test_category<is_unsigned, short>(false), "");
   static_assert(test_category<is_unsigned, unsigned short>(true), "");
   static_assert(test_category<is_unsigned, int>(false), "");
index 45de4622633be32265ae70f5b4b132a65054c225..31791a6119cb7162b8ce50582e291147f7618efc 100644 (file)
@@ -26,13 +26,11 @@ void test01()
   using namespace __gnu_test;
 
   static_assert(test_category<is_void, void>(true), "");
-  
+
   static_assert(test_category<is_void, char>(false), "");
   static_assert(test_category<is_void, signed char>(false), "");
   static_assert(test_category<is_void, unsigned char>(false), "");
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test_category<is_void, wchar_t>(false), "");
-#endif
   static_assert(test_category<is_void, short>(false), "");
   static_assert(test_category<is_void, unsigned short>(false), "");
   static_assert(test_category<is_void, int>(false), "");
index c010c9701dfb333c916f27e1a5ee33fc5e80da43..ec6141b4db408ad46dfa6e6d18682a35c79fd5a3 100644 (file)
@@ -51,13 +51,11 @@ void test01()
   static_assert( is_same<test22_type, const signed char>::value,
                  "make_signed<const char>" );
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_signed<volatile wchar_t>::type          test23_type;
   static_assert( is_signed<test23_type>::value
                  && is_volatile<test23_type>::value
                  && sizeof(test23_type) == sizeof(volatile wchar_t),
                  "make_signed<volatile wchar_t>" );
-#endif
 
   // Chapter 48, chapter 20. Smallest rank such that new signed type same size.
   typedef make_signed<test_enum>::type         test24_type;
index 0edf3d648b56e7bedaf42d576c78bf684315bdf3..22685e03f308a61077559d53a4b2c7ec98bf07e7 100644 (file)
@@ -49,12 +49,10 @@ void test01()
   typedef make_signed<const char>::type        test22_type;
   static_assert(is_same<test22_type, const signed char>::value, "");
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_signed<volatile wchar_t>::type          test23_type;
   static_assert(is_signed<test23_type>::value
                  && is_volatile<test23_type>::value
                  && sizeof(test23_type) == sizeof(volatile wchar_t), "");
-#endif
 
   typedef make_signed<test_enum>::type         test24_type;
   static_assert(is_same<test24_type, short>::value, "");
index 32005128f59c7780e5978d36a3012f904fb763f7..b428e03a7b81f95080704714deb61721d9d1b8f7 100644 (file)
@@ -72,8 +72,6 @@ static_assert(is_same<make_signed<char16_t const>::type, I6 const>::value, "");
 using I7 = smallest_rank_t<char32_t>;
 static_assert(is_same<make_signed<char32_t>::type, I7>::value, "");
 static_assert(is_same<make_signed<char32_t const>::type, I7 const>::value, "");
-#ifdef _GLIBCXX_USE_WCHAR_T
 using I8 = smallest_rank_t<wchar_t>;
 static_assert(is_same<make_signed<wchar_t>::type, I8>::value, "");
 static_assert(is_same<make_signed<wchar_t const>::type, I8 const>::value, "");
-#endif
index eb4ec88b32a416c0087ad63a50e5aecbd0a7e1dc..55f0018d9dfcfb65f6b9d8d7bc9ee1b672d86d4f 100644 (file)
 // libstdc++/60326
 
 using namespace std;
-#ifdef _GLIBCXX_USE_WCHAR_T
 using wchar_signed = make_signed<wchar_t>::type;
 using wchar_unsigned = make_unsigned<wchar_t>::type;
 static_assert( !is_same<wchar_signed, wchar_unsigned>::value, "wchar_t" );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
 static_assert( is_signed<make_signed<char8_t>::type>::value, "char8_t");
 #endif
index e437c53cd8e6cad40863e9ab0442684520affba4..bb986930d9aefd2f7f6a7503df7cc0512aa9063e 100644 (file)
@@ -47,12 +47,10 @@ void test01()
   typedef make_unsigned<const char>::type      test22_type;
   static_assert(is_same<test22_type, const unsigned char>::value, "");
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_unsigned<volatile wchar_t>::type        test23_type;
   static_assert(is_unsigned<test23_type>::value
                 && is_volatile<test23_type>::value
                 && sizeof(test23_type) == sizeof(volatile wchar_t), "");
-#endif
 
   // Chapter 48, chapter 20. Smallest rank such that new unsigned type
   // same size.
index 7e2b8c459e7aeed834c14b50a074061089b48997..5b4a1d4a249075947f014228af0f3ddd81b728e9 100644 (file)
@@ -49,12 +49,10 @@ void test01()
   typedef make_unsigned<const char>::type      test22_type;
   static_assert(is_same<test22_type, const unsigned char>::value, "");
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   typedef make_unsigned<volatile wchar_t>::type        test23_type;
   static_assert(is_unsigned<test23_type>::value
                 && is_volatile<test23_type>::value
                 && sizeof(test23_type) == sizeof(volatile wchar_t), "");
-#endif
 
   typedef make_unsigned<test_enum>::type         test24_type;
   static_assert(is_same<test24_type, unsigned short>::value, "");
index 338ea304cad13d4afb680c13c526113f194a9e8b..737ec6fb0e0bfbe13fd2c8e8c0fa38eb1adc2c3b 100644 (file)
@@ -72,8 +72,6 @@ static_assert(is_same<make_unsigned<char16_t const>::type, I6 const>::value, "")
 using I7 = smallest_rank_t<char32_t>;
 static_assert(is_same<make_unsigned<char32_t>::type, I7>::value, "");
 static_assert(is_same<make_unsigned<char32_t const>::type, I7 const>::value, "");
-#ifdef _GLIBCXX_USE_WCHAR_T
 using I8 = smallest_rank_t<wchar_t>;
 static_assert(is_same<make_unsigned<wchar_t>::type, I8>::value, "");
 static_assert(is_same<make_unsigned<wchar_t const>::type, I8 const>::value, "");
-#endif
index 30b02a539446ff2be3cbe05cf942f1f1c8d479e8..b40ba8703826731b9f29bfd2f2453d05104b309a 100644 (file)
@@ -48,9 +48,7 @@ test01()
 {
   VERIFY( check_to_chars(u'\x21') );
   VERIFY( check_to_chars(U'\x21') );
-#if _GLIBCXX_USE_WCHAR_T
   VERIFY( check_to_chars(L'\x21') );
-#endif
 }
 
 int main()
index 61f84118c634c41e2476cfbd43b49b7fdd842701..cfdc716fad588256db9a9bc61d55cc963ca7250d 100644 (file)
@@ -38,10 +38,7 @@ void test01()
   static_assert(test<volatile unsigned int>::value, "");
   static_assert(test<const volatile unsigned int>::value, "");
   static_assert(test<const unsigned char>::value, "");
-
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(test<volatile wchar_t>::value, "" );
-#endif
 
   // Pointers
   static_assert(test<void*>::value, "");
index 596bff9f8c63099f7a2f2b282d737be3403096a8..59952e4e4b508fa05b957b7015d8f5f57cfc8ea2 100644 (file)
@@ -43,9 +43,7 @@ test01()
 #endif
   VERIFY( test(__gnu_debug::u16string(u"a utf-16 string")) );
   VERIFY( test(__gnu_debug::u32string(U"a utf-32 string")) );
-#if _GLIBCXX_USE_WCHAR_T
   VERIFY( test(__gnu_debug::wstring(L"a wide string")) );
-#endif
 }
 
 #if _GLIBCXX_USE_CHAR8_T
index e5d0a4dc5ee3149d70ca5546a7712a8b3d5bf5fc..2e739c02cef16e81fe09115c8bc6168877e10585 100644 (file)
@@ -40,9 +40,7 @@ test01()
   VERIFY( test(std::string("a narrow string")) );
   VERIFY( test(std::u16string(u"a utf-16 string")) );
   VERIFY( test(std::u32string(U"a utf-32 string")) );
-#if _GLIBCXX_USE_WCHAR_T
   VERIFY( test(std::wstring(L"a wide string")) );
-#endif
 }
 
 void
@@ -52,10 +50,8 @@ test02()
   VERIFY( test(std::pmr::string("a narrow string, but with PMR!")) );
   VERIFY( test(std::pmr::u16string(u"a utf-16 string, but with PMR!")) );
   VERIFY( test(std::pmr::u32string(U"a utf-32 string, but with PMR!")) );
-#if _GLIBCXX_USE_WCHAR_T
   VERIFY( test(std::pmr::wstring(L"a wide string, but with PMR!")) );
 #endif
-#endif
 }
 
 int
index 0ad6cafde283ce9b1485781cc6d323b24e2a9ec9..e050b2ffe0dde6819a2bb1fef4cbd1e124063cd6 100644 (file)
@@ -38,10 +38,8 @@ test01()
 #endif
 
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(std::is_same<decltype(L"Hello"s), std::wstring>::value,
                "L\"Hello\"s is std::wstring");
-#endif
 
   static_assert(std::is_same<decltype(u"Hello"s), std::u16string>::value,
                "u\"Hello\"s is std::u16string");
index a82f08ae84770a17fd928ed5507ac90d024bd9f5..3196fd338f90ffc3066248e8f9828b8687c7eea3 100644 (file)
@@ -37,10 +37,8 @@ test01()
   static_assert(std::is_same<decltype(u8"Hello"s), u8string>::value,
                "u8\"Hello\"s is std::string");
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(std::is_same<decltype(L"Hello"s), std::wstring>::value,
                "L\"Hello\"s is std::wstring");
-#endif
 
   static_assert(std::is_same<decltype(u"Hello"s), std::u16string>::value,
                "u\"Hello\"s is std::u16string");
index 3b620c02619532dbdd1476c1c821313cf8de9ff0..cf6c9bc21005483a23695dce149489859862e89d 100644 (file)
@@ -27,9 +27,7 @@ test01()
   using namespace std::literals::string_literals;
 
   std::string planet = "Mercury"s;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring wplanet = L"Venus"s;
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   std::u8string u8planet = u8"Mars"s;
 #else
@@ -39,9 +37,7 @@ test01()
   std::u32string u32planet = U"Saturn"s;
 
   VERIFY( planet == std::string("Mercury") );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet == std::wstring(L"Venus") );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   VERIFY( u8planet == std::u8string(u8"Mars") );
 #else
index 9e15cacbdb4a2eb885c513bd4d622a23fc637836..8057b3e33e1baeb0d676993e9f33e799ec57e77f 100644 (file)
@@ -32,17 +32,13 @@ test01()
   using namespace std::literals::string_literals;
 
   std::string planet = "Mercury"s;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring wplanet = L"Venus"s;
-#endif
   u8string u8planet = u8"Mars"s;
   std::u16string u16planet = u"Jupiter"s;
   std::u32string u32planet = U"Saturn"s;
 
   VERIFY( planet == std::string("Mercury") );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet == std::wstring(L"Venus") );
-#endif
   VERIFY( u8planet == u8string(u8"Mars") );
   VERIFY( u16planet == std::u16string(u"Jupiter") );
   VERIFY( u32planet == std::u32string(U"Saturn") );
index 9a3ad724c96a6f93c6fd4a67e8ac21a8b969f3c0..2cdd3084363e918276b8755991cf8056fcdcea66 100644 (file)
@@ -34,7 +34,6 @@ main ()
   x.replace (x.begin (), x.end (), best, best + 4);
   x.replace (x.begin (), x.end (), x);
   x.erase (x.begin (), x.end ());
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring w;
   w.insert (w.begin (), 10, L'x');
   const wchar_t west[] = L"west";
@@ -44,6 +43,5 @@ main ()
   w.replace (w.begin (), w.end (), rest, rest + 4);
   w.replace (w.begin (), w.end (), w);
   w.erase (w.begin (), w.end ());
-#endif
   return 0;
 }
index 56169150089186450c48812f68221442790b9753..c307b1a1479c674a1ec8ec495a4c924c6664af9d 100644 (file)
@@ -24,9 +24,7 @@
 void
 test01()
 {
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring ws(L"Hello, World!");
   (void) std::begin(ws);
   (void) std::end(ws);
-#endif
 }
index fca2a8940e9af28974bda851c0831b55a49f4a87..c7d22f22bdecd727c77ed45332690167b5ea7b1b 100644 (file)
@@ -27,9 +27,7 @@ int main()
 {
   __gnu_test::citerator<std::string> test1;
   __gnu_test::citerator<__gnu_debug::string> dtest1;
-#ifdef _GLIBCXX_USE_WCHAR_T
   __gnu_test::citerator<std::wstring> test2;
   __gnu_test::citerator<__gnu_debug::wstring> dtest2;
-#endif
   return 0;
 }
index ff5f98e78058d283b3792725da6f5391b21e3cb3..33f35304e9889249ed7266df99304d6e1f52a7a9 100644 (file)
@@ -24,7 +24,5 @@
 // Check container for required typedefs.
 __gnu_test::types<std::string> t1;
 __gnu_test::types<__gnu_debug::string> dt1;
-#ifdef _GLIBCXX_USE_WCHAR_T
 __gnu_test::types<std::wstring> t2;
 __gnu_test::types<__gnu_debug::wstring> dt2;
-#endif
index cb597a743121e2621290d3105d0497b3a4326f07..7b383fc534e597cbf82e78ce4304c2426c835ca6 100644 (file)
@@ -44,7 +44,6 @@ static_assert(std::is_same_v<std::pmr::u32string,
     std::basic_string<char32_t, std::char_traits<char32_t>,
                      std::pmr::polymorphic_allocator<char32_t>>>);
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 static_assert(std::is_same_v<std::pmr::basic_string<wchar_t>,
     std::basic_string<wchar_t, std::char_traits<wchar_t>,
                      std::pmr::polymorphic_allocator<wchar_t>>>);
@@ -54,4 +53,3 @@ static_assert(std::is_same_v<std::pmr::basic_string<wchar_t, T>,
 static_assert(std::is_same_v<std::pmr::wstring,
     std::basic_string<wchar_t, std::char_traits<wchar_t>,
                      std::pmr::polymorphic_allocator<wchar_t>>>);
-#endif
index 60713667c91be28a1413e136130812a6671df21b..6c5c1aa5d4fcab32954f5f5d3e1c8d8ab5c2c06a 100644 (file)
@@ -37,10 +37,8 @@ test01()
                "u8\"Hello\"sv is std::string_view");
 #endif
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(std::is_same<decltype(L"Hello"sv), std::wstring_view>::value,
                "L\"Hello\"sv is std::wstring_view");
-#endif
 
   static_assert(std::is_same<decltype(u"Hello"sv), std::u16string_view>::value,
                "u\"Hello\"sv is std::u16string_view");
index 8a562f0cf11a5a7f0c89bc3d83a7de98e0c8f43a..851501d673498b1ce3ed8f5c883d19fa8a980d92 100644 (file)
@@ -37,10 +37,8 @@ test01()
   static_assert(std::is_same<decltype(u8"Hello"sv), u8string_view>::value,
                "u8\"Hello\"s is std::string_view");
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(std::is_same<decltype(L"Hello"sv), std::wstring_view>::value,
                "L\"Hello\"s is std::wstring_view");
-#endif
 
   static_assert(std::is_same<decltype(u"Hello"sv), std::u16string_view>::value,
                "u\"Hello\"s is std::u16string_view");
index 04550d6e669dbcded8a3d480a003fbab3e7e56af..54e8cb25b116ade50c3321bcc0a68aac41280143 100644 (file)
@@ -27,9 +27,7 @@ test01()
   using namespace std::literals::string_view_literals;
 
   std::string_view planet = "Mercury"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring_view wplanet = L"Venus"sv;
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   std::u8string_view u8planet = u8"Mars"sv;
 #else
@@ -39,9 +37,7 @@ test01()
   std::u32string_view u32planet = U"Saturn"sv;
 
   VERIFY( planet == std::string_view("Mercury") );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet == std::wstring_view(L"Venus") );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   VERIFY( u8planet == std::u8string_view(u8"Mars") );
 #else
@@ -57,9 +53,7 @@ test02()
   using namespace std::literals::string_view_literals;
 
   std::string_view planet_cratered = "Mercury\0cratered"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring_view wplanet_cratered = L"Venus\0cratered"sv;
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   std::u8string_view u8planet_cratered = u8"Mars\0cratered"sv;
 #else
@@ -69,9 +63,7 @@ test02()
   std::u32string_view u32planet_cratered = U"Saturn\0cratered"sv;
 
   VERIFY( planet_cratered == std::string_view("Mercury\0cratered", 16) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet_cratered == std::wstring_view(L"Venus\0cratered", 14) );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   VERIFY( u8planet_cratered == std::u8string_view(u8"Mars\0cratered", 13) );
 #else
index 79033d8d7eab510340cbb011a22c24d6de56e2cc..28e648ff7646de6b91ca4a3c297bf9ad4e892dd0 100644 (file)
@@ -32,17 +32,13 @@ test01()
   using namespace std::literals::string_view_literals;
 
   std::string_view planet = "Mercury"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring_view wplanet = L"Venus"sv;
-#endif
   u8string_view u8planet = u8"Mars"sv;
   std::u16string_view u16planet = u"Jupiter"sv;
   std::u32string_view u32planet = U"Saturn"sv;
 
   VERIFY( planet == std::string_view("Mercury") );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet == std::wstring_view(L"Venus") );
-#endif
   VERIFY( u8planet == u8string_view(u8"Mars") );
   VERIFY( u16planet == std::u16string_view(u"Jupiter") );
   VERIFY( u32planet == std::u32string_view(U"Saturn") );
@@ -54,17 +50,13 @@ test02()
   using namespace std::literals::string_view_literals;
 
   std::string_view planet_cratered = "Mercury\0cratered"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::wstring_view wplanet_cratered = L"Venus\0cratered"sv;
-#endif
   u8string_view u8planet_cratered = u8"Mars\0cratered"sv;
   std::u16string_view u16planet_cratered = u"Jupiter\0cratered"sv;
   std::u32string_view u32planet_cratered = U"Saturn\0cratered"sv;
 
   VERIFY( planet_cratered == std::string_view("Mercury\0cratered", 16) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet_cratered == std::wstring_view(L"Venus\0cratered", 14) );
-#endif
   VERIFY( u8planet_cratered == u8string_view(u8"Mars\0cratered", 13) );
   VERIFY( u16planet_cratered == std::u16string_view(u"Jupiter\0cratered", 16) );
   VERIFY( u32planet_cratered == std::u32string_view(U"Saturn\0cratered", 15) );
index a3282fb0323428f68721ea2e00cdcc92ba3c593c..c75029a022a41cc32ed912ec48e042e314052ae1 100644 (file)
@@ -39,11 +39,9 @@ __gnu_test::basic_types<std::string_view> t1b;
 __gnu_test::reversible_types<std::string_view> t1r;
 typedef typename std::string_view::traits_type traits_type1;
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 __gnu_test::basic_types<std::wstring_view> t2b;
 __gnu_test::reversible_types<std::wstring_view> t2r;
 typedef typename std::wstring_view::traits_type traits_type2;
-#endif
 
 static_assert(std::is_same<std::string_view::pointer, char*>(),
     "pointer should be value_type*");
index 26cbc203501952f4de47730fab6f8e3c4c37dd16..b14610d452ca36241fd1882733b6c4bc9a3a5dde 100644 (file)
@@ -33,6 +33,4 @@ using check4_t = std::u16string_view;
 using check5_t = std::u32string_view;
 #endif
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 using check6_t = std::wstring_view;
-#endif
index 827b6a24e3c50a6a8c4d6686f7cd758b72ba51ad..8bfac4af220f045475b94aa504cf9ad4af1f551d 100644 (file)
@@ -31,7 +31,7 @@ namespace __gnu_test
        struct _Concept
        {
          void __constraint()
-         { 
+         {
            typedef typename _Ttesttype::char_type char_type;
            typedef typename _Ttesttype::int_type int_type;
            const char_type c1(0);
@@ -64,9 +64,7 @@ int main()
 {
   __gnu_test::constexpr_member_functions test;
   test.operator()<std::char_traits<char>>();
-#ifdef _GLIBCXX_USE_WCHAR_T
   test.operator()<std::char_traits<wchar_t>>();
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   test.operator()<std::char_traits<char8_t>>();
 #endif
index 7db31031b8ac30e8c295c0572d4b7e1865ad695c..fa82be2fc58eb94f2d74efcbe7b42f3627f80043 100644 (file)
@@ -89,12 +89,10 @@ static_assert( test_assign<std::char_traits<char>>() );
 static_assert( test_compare<std::char_traits<char>>() );
 static_assert( test_length<std::char_traits<char>>() );
 static_assert( test_find<std::char_traits<char>>() );
-#ifdef _GLIBCXX_USE_WCHAR_T
 static_assert( test_assign<std::char_traits<wchar_t>>() );
 static_assert( test_compare<std::char_traits<wchar_t>>() );
 static_assert( test_length<std::char_traits<wchar_t>>() );
 static_assert( test_find<std::char_traits<wchar_t>>() );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
 static_assert( test_assign<std::char_traits<char8_t>>() );
 static_assert( test_compare<std::char_traits<char8_t>>() );
index 0d1595fe030b57227aaaf125f71c92a7ba44b069..0577cb1c0bc7269bff4ee42395c3977ff774dedb 100644 (file)
@@ -44,9 +44,7 @@ template<typename CT>
 #endif
 
 static_assert( test_move<std::char_traits<char>>() );
-#ifdef _GLIBCXX_USE_WCHAR_T
 static_assert( test_move<std::char_traits<wchar_t>>() );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
 static_assert( test_move<std::char_traits<char8_t>>() );
 #endif
index 89843b68494cbb1577ecbb11130410ecc8fde2e5..71772427815bdee32a93c130015f94d3bf0bb8bc 100644 (file)
@@ -52,7 +52,6 @@ void test01()
   std::tolower(make_str<char, 12>(), loc);     // { dg-error "required from here" }
 }
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 void test02()
 {
   const std::locale& loc = std::locale::classic();
@@ -74,4 +73,3 @@ void test02()
   std::toupper(make_str<wchar_t, 11>(), loc);  // { dg-error "required from here" }
   std::tolower(make_str<wchar_t, 12>(), loc);  // { dg-error "required from here" }
 }
-#endif
index 5c761c46b9c2c859bb81b55b48fa7e3cdd5e09c7..1b2402d36cbc9d47a0e245ac9ba7971d5dd9fb54 100644 (file)
@@ -30,7 +30,7 @@ test01()
 
   const int A1[] = {3, 3, 3, 3, 3, 3, 3, 3, 3, 3};
   const int N1 = sizeof(A1) / sizeof(int);
-  
+
   int i1[N1];
   fill(i1, i1 + N1, 3);
   VERIFY( equal(i1, i1 + N1, A1) );
@@ -51,7 +51,6 @@ test01()
   fill(v2.begin(), v2.end(), '\3');
   VERIFY( equal(v2.begin(), v2.end(), A2) );
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   const wchar_t A3[] = {L'\3', L'\3', L'\3', L'\3', L'\3',
                        L'\3', L'\3', L'\3', L'\3', L'\3'};
   const int N3 = sizeof(A3) / sizeof(wchar_t);
@@ -63,7 +62,6 @@ test01()
   vector<wchar_t> v3(N3);
   fill(v3.begin(), v3.end(), L'\3');
   VERIFY( equal(v3.begin(), v3.end(), A3) );
-#endif
 }
 
 int
index 744856b06c06f92a592e29404b0186a52895dacb..893aa5b4ebf4d33114aef06df286d09d074fac46 100644 (file)
@@ -44,7 +44,7 @@ test01()
 
   const int A1[] = {3, 3, 3, 3, 3, 3, 3, 3, 3, 3};
   const int N1 = sizeof(A1) / sizeof(int);
-  
+
   int i1[N1];
   test_container<int, output_iterator_wrapper> c1(i1, i1 + N1);
   fill_n(c1.begin(), N1, 3);
@@ -66,7 +66,6 @@ test01()
   fill_n(v2.begin(), N2, '\3');
   VERIFY( equal(v2.begin(), v2.end(), A2) );
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   const wchar_t A3[] = {L'\3', L'\3', L'\3', L'\3', L'\3',
                        L'\3', L'\3', L'\3', L'\3', L'\3'};
   const int N3 = sizeof(A3) / sizeof(wchar_t);
@@ -78,7 +77,6 @@ test01()
   vector<wchar_t> v3(N3);
   fill_n(v3.begin(), N3, L'\3');
   VERIFY( equal(v3.begin(), v3.end(), A3) );
-#endif
 }
 
 int
index 929181871adfa017b0b25e8e3a29e249bc158d0a..050d03c74c239438cad9c561c890cf027cb8ee50 100644 (file)
 // { dg-do run { target c++14 } }
 
 #include <experimental/functional>
+#include <experimental/string_view>
 #include <cstring>
-#ifdef _GLIBCXX_USE_WCHAR_T
-# include <cwchar>
-#endif
 #include <algorithm>
 #include <testsuite_hooks.h>
 
@@ -64,7 +62,6 @@ test01()
 void
 test02()
 {
-#ifdef _GLIBCXX_USE_WCHAR_T
   const wchar_t s[] = { L'a', (wchar_t)-97, L'a', L'\0' };
   const wchar_t* needles[] = {
     s, L"", L"a", L"aa", L"aaa", L"ab", L"cd", L"abcd", L"abcdabcd", L"abcabcd"
@@ -76,13 +73,13 @@ test02()
 
   for (auto n : needles)
   {
-    auto ne = n + std::wcslen(n);
+    auto ne = n + std::char_traits<wchar_t>::length(n);
     auto d = make_default_searcher(n, ne);
     auto bm = make_boyer_moore_searcher(n, ne);
     auto bmh = make_boyer_moore_horspool_searcher(n, ne);
     for (auto h : haystacks)
     {
-      auto he = h + std::wcslen(h);
+      auto he = h + std::char_traits<wchar_t>::length(h);
       auto res = std::search(h, he, n, ne);
       auto d_res = d(h, he);
       VERIFY( d_res == res );
@@ -92,7 +89,6 @@ test02()
       VERIFY( bmh_res == res );
     }
   }
-#endif
 }
 
 void
index f57f334da2626a7be376bd88d953294fa85cb6d7..a73e0b6675d32c947ae8e2fbe5ff7b740bfd055d 100644 (file)
@@ -51,7 +51,6 @@ static_assert(std::is_same<xpmr::u32string,
                      xpmr::polymorphic_allocator<char32_t>>>::value,
     "pmr::u32string");
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 static_assert(std::is_same<xpmr::basic_string<wchar_t>,
     std::basic_string<wchar_t, std::char_traits<wchar_t>,
                      xpmr::polymorphic_allocator<wchar_t>>>::value,
@@ -64,4 +63,3 @@ static_assert(std::is_same<xpmr::wstring,
     std::basic_string<wchar_t, std::char_traits<wchar_t>,
                      xpmr::polymorphic_allocator<wchar_t>>>::value,
     "pmr::wstring");
-#endif
index 649a428250cf707af662ee63e0416420f88447b8..1d320961f84dbeeac9fa4cdd993f9ed02ea2b662 100644 (file)
@@ -37,10 +37,8 @@ test01()
                "u8\"Hello\"sv is std::string_view");
 #endif
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(std::is_same<decltype(L"Hello"sv), std::experimental::wstring_view>::value,
                "L\"Hello\"sv is std::wstring_view");
-#endif
 
   static_assert(std::is_same<decltype(u"Hello"sv), std::experimental::u16string_view>::value,
                "u\"Hello\"sv is std::u16string_view");
index 20b166acfe606f751a3b530bb305099efab679c3..f9d2fc970b1547e2bdf53002ac6093494403014f 100644 (file)
@@ -37,10 +37,8 @@ test01()
   static_assert(std::is_same<decltype(u8"Hello"sv), u8string_view>::value,
                "u8\"Hello\"s is std::string_view");
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   static_assert(std::is_same<decltype(L"Hello"sv), std::experimental::wstring_view>::value,
                "L\"Hello\"s is std::wstring_view");
-#endif
 
   static_assert(std::is_same<decltype(u"Hello"sv), std::experimental::u16string_view>::value,
                "u\"Hello\"s is std::u16string_view");
index 3fddcdcc3f92dc7699ed8e76a78adbbb8c795e2a..1a8d906014f83aeac787e1b5aee52624e6110178 100644 (file)
@@ -27,9 +27,7 @@ test01()
   using namespace std::experimental::literals::string_view_literals;
 
   std::experimental::string_view planet = "Mercury"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::experimental::wstring_view wplanet = L"Venus"sv;
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   std::experimental::u8string_view u8planet = u8"Mars"sv;
 #else
@@ -39,9 +37,7 @@ test01()
   std::experimental::u32string_view u32planet = U"Saturn"sv;
 
   VERIFY( planet == std::experimental::string_view("Mercury") );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet == std::experimental::wstring_view(L"Venus") );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   VERIFY( u8planet == std::experimental::u8string_view(u8"Mars") );
 #else
@@ -57,9 +53,7 @@ test02()
   using namespace std::experimental::literals::string_view_literals;
 
   std::experimental::string_view planet_cratered = "Mercury\0cratered"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::experimental::wstring_view wplanet_cratered = L"Venus\0cratered"sv;
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   std::experimental::u8string_view u8planet_cratered = u8"Mars\0cratered"sv;
 #else
@@ -70,10 +64,8 @@ test02()
 
   VERIFY( planet_cratered ==
          std::experimental::string_view("Mercury\0cratered", 16) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet_cratered ==
          std::experimental::wstring_view(L"Venus\0cratered", 14) );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
   VERIFY( u8planet_cratered ==
          std::experimental::u8string_view(u8"Mars\0cratered", 13) );
index 05bca73bce42e6f56c4cd238517c648eee88f749..8e1770507e24e0d758c88aebc5d87adfbc12be54 100644 (file)
@@ -32,17 +32,13 @@ test01()
   using namespace std::experimental::literals::string_view_literals;
 
   std::experimental::string_view planet = "Mercury"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::experimental::wstring_view wplanet = L"Venus"sv;
-#endif
   u8string_view u8planet = u8"Mars"sv;
   std::experimental::u16string_view u16planet = u"Jupiter"sv;
   std::experimental::u32string_view u32planet = U"Saturn"sv;
 
   VERIFY( planet == std::experimental::string_view("Mercury") );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet == std::experimental::wstring_view(L"Venus") );
-#endif
   VERIFY( u8planet == u8string_view(u8"Mars") );
   VERIFY( u16planet == std::experimental::u16string_view(u"Jupiter") );
   VERIFY( u32planet == std::experimental::u32string_view(U"Saturn") );
@@ -54,19 +50,15 @@ test02()
   using namespace std::experimental::literals::string_view_literals;
 
   std::experimental::string_view planet_cratered = "Mercury\0cratered"sv;
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::experimental::wstring_view wplanet_cratered = L"Venus\0cratered"sv;
-#endif
   u8string_view u8planet_cratered = u8"Mars\0cratered"sv;
   std::experimental::u16string_view u16planet_cratered = u"Jupiter\0cratered"sv;
   std::experimental::u32string_view u32planet_cratered = U"Saturn\0cratered"sv;
 
   VERIFY( planet_cratered ==
          std::experimental::string_view("Mercury\0cratered", 16) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( wplanet_cratered ==
          std::experimental::wstring_view(L"Venus\0cratered", 14) );
-#endif
   VERIFY( u8planet_cratered == u8string_view(u8"Mars\0cratered", 13) );
   VERIFY( u16planet_cratered ==
          std::experimental::u16string_view(u"Jupiter\0cratered", 16) );
index f19e455a6063cadfbf797794b3443797b92a2f73..920574668a17844dd4966c54e121333d77d0bf61 100644 (file)
@@ -24,9 +24,7 @@
 void
 test01()
 {
-#ifdef _GLIBCXX_USE_WCHAR_T
   std::experimental::wstring_view ws(L"Hello, World!");
   (void) std::begin(ws);
   (void) std::end(ws);
-#endif
 }
index 4bd30584a1610677b97b85d15b70971eac5e62f1..bc9dec02611dea1794434d43675540062ea7199f 100644 (file)
@@ -38,11 +38,9 @@ __gnu_test::basic_types<std::experimental::string_view> t1b;
 __gnu_test::reversible_types<std::experimental::string_view> t1r;
 typedef typename std::experimental::string_view::traits_type traits_type1;
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 __gnu_test::basic_types<std::experimental::wstring_view> t2b;
 __gnu_test::reversible_types<std::experimental::wstring_view> t2r;
 typedef typename std::experimental::wstring_view::traits_type traits_type2;
-#endif
 
 static_assert(
     std::is_same<std::experimental::string_view::pointer, char*>(),
index fd32c5627658a1c070beaaf3961381a07ada1532..c6290f8c198ff68465cb60b67ffdcbef5dfbe6ea 100644 (file)
@@ -33,7 +33,4 @@ using check4_t = std::experimental::fundamentals_v1::u16string_view;
 using check5_t = std::experimental::fundamentals_v1::u32string_view;
 #endif
 
-#ifdef _GLIBCXX_USE_WCHAR_T
 using check6_t = std::experimental::fundamentals_v1::wstring_view;
-#endif
-
index 7b381ffd95610dfb3b0a9697d80db1f3bd792465..3876b80d50d8d1dd4276e8ae6a9de42d0f1cb14e 100644 (file)
@@ -28,9 +28,7 @@ test01()
   (void) std::begin(s);
   (void) std::end(s);
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   __gnu_cxx::__wvstring ws(L"Hello, World!");
   (void) std::begin(ws);
   (void) std::end(ws);
-#endif
 }
index 8c937adf2511bc83e35d354c36f1b9ccb3557a3e..c206b9bb1fa4346f62f11cd67c252e0e24c8c117 100644 (file)
@@ -39,9 +39,7 @@ static_assert( std::integral<bool> );
 static_assert( std::integral<char> );
 static_assert( std::integral<char16_t> );
 static_assert( std::integral<char32_t> );
-#ifdef _GLIBCXX_USE_WCHAR_T
 static_assert( std::integral<wchar_t> );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
 static_assert( std::integral<char8_t> );
 #endif
index ec6fddc68b3a5f48182c023e2d80202f0586bd8d..bf067e39f62f687a3017af11e3f4c59b75527d84 100644 (file)
@@ -39,9 +39,7 @@ static_assert( !std::signed_integral<bool> );
 static_assert( std::is_signed_v<char> ? std::signed_integral<char> : true );
 static_assert( !std::signed_integral<char16_t> );
 static_assert( !std::signed_integral<char32_t> );
-#ifdef _GLIBCXX_USE_WCHAR_T
 static_assert( std::is_signed_v<wchar_t> ? std::signed_integral<wchar_t> : true );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
 static_assert( !std::signed_integral<char8_t> );
 #endif
index 59f233ae791748c993962fda8529c2e2cdb0e8d6..e6b7c5ee701ef108317fe5e25c1c3de43c78f4b7 100644 (file)
@@ -39,9 +39,7 @@ static_assert( std::unsigned_integral<bool> );
 static_assert( std::is_signed_v<char> ? true : std::unsigned_integral<char> );
 static_assert( std::unsigned_integral<char16_t> );
 static_assert( std::unsigned_integral<char32_t> );
-#ifdef _GLIBCXX_USE_WCHAR_T
 static_assert( std::is_signed_v<wchar_t> ? true : std::unsigned_integral<wchar_t> );
-#endif
 #ifdef _GLIBCXX_USE_CHAR8_T
 static_assert( std::unsigned_integral<char8_t> );
 #endif
index 0b8de065a8905e1c06eccb5e0ab4472871889865..df5f0c5771bd14a288e7d04c808f89b7d2c343ab 100644 (file)
@@ -33,9 +33,7 @@ void test01()
   VERIFY( (test_category<is_arithmetic, char>(true)) );
   VERIFY( (test_category<is_arithmetic, signed char>(true)) );
   VERIFY( (test_category<is_arithmetic, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_arithmetic, wchar_t>(true)) );
-#endif
   VERIFY( (test_category<is_arithmetic, short>(true)) );
   VERIFY( (test_category<is_arithmetic, unsigned short>(true)) );
   VERIFY( (test_category<is_arithmetic, int>(true)) );
index 8c7520dca5e8e1781e04f7f33c42939af722d0b1..3f89cb533c05dd13707e6ec5a5e6634b1e5563e8 100644 (file)
@@ -32,9 +32,7 @@ void test01()
   VERIFY( (test_category<is_compound, char>(false)) );
   VERIFY( (test_category<is_compound, signed char>(false)) );
   VERIFY( (test_category<is_compound, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_compound, wchar_t>(false)) );
-#endif
   VERIFY( (test_category<is_compound, short>(false)) );
   VERIFY( (test_category<is_compound, unsigned short>(false)) );
   VERIFY( (test_category<is_compound, int>(false)) );
index e4e8b86dc7368a67c52035f57c662a4cb4dad442..a5aa1460597c5e6e8beadf26358514ddc8adf753 100644 (file)
@@ -32,9 +32,7 @@ void test01()
   VERIFY( (test_category<is_floating_point, char>(false)) );
   VERIFY( (test_category<is_floating_point, signed char>(false)) );
   VERIFY( (test_category<is_floating_point, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_floating_point, wchar_t>(false)) );
-#endif
   VERIFY( (test_category<is_floating_point, short>(false)) );
   VERIFY( (test_category<is_floating_point, unsigned short>(false)) );
   VERIFY( (test_category<is_floating_point, int>(false)) );
index 0628977e011613e91dc3bc1fe1199e39e3e0f71b..0c30b35e0b7a9dd85b5e9f3b7f6e8789977c990f 100644 (file)
@@ -32,9 +32,7 @@ void test01()
   VERIFY( (test_category<is_fundamental, char>(true)) );
   VERIFY( (test_category<is_fundamental, signed char>(true)) );
   VERIFY( (test_category<is_fundamental, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_fundamental, wchar_t>(true)) );
-#endif
   VERIFY( (test_category<is_fundamental, short>(true)) );
   VERIFY( (test_category<is_fundamental, unsigned short>(true)) );
   VERIFY( (test_category<is_fundamental, int>(true)) );
index e4dba6d6211dc2cd8be84343402c21afbcbba1c5..8866b7cb455df7448f90fd837e727448efc0761f 100644 (file)
@@ -33,9 +33,7 @@ void test01()
   VERIFY( (test_category<is_integral, char>(true)) );
   VERIFY( (test_category<is_integral, signed char>(true)) );
   VERIFY( (test_category<is_integral, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_integral, wchar_t>(true)) );
-#endif
   VERIFY( (test_category<is_integral, short>(true)) );
   VERIFY( (test_category<is_integral, unsigned short>(true)) );
   VERIFY( (test_category<is_integral, int>(true)) );
index a96b64f40036e2721ac9357edaf8d794e93e1160..82ab7a5dbdeacf6e8a2d10cad632deee5d617bcb 100644 (file)
@@ -33,9 +33,7 @@ void test01()
   VERIFY( (test_category<is_signed, char>(false)) );
   VERIFY( (test_category<is_signed, signed char>(true)) );
   VERIFY( (test_category<is_signed, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_signed, wchar_t>(false)) );
-#endif
   VERIFY( (test_category<is_signed, short>(true)) );
   VERIFY( (test_category<is_signed, unsigned short>(false)) );
   VERIFY( (test_category<is_signed, int>(true)) );
index 3d9822507b332d84d93023a6c1025ac1b91cc0f9..41c6682cff1ff8cef309f923c547ef6015206316 100644 (file)
@@ -33,9 +33,7 @@ void test01()
   VERIFY( (test_category<is_unsigned, char>(false)) );
   VERIFY( (test_category<is_unsigned, signed char>(false)) );
   VERIFY( (test_category<is_unsigned, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_unsigned, wchar_t>(false)) );
-#endif
   VERIFY( (test_category<is_unsigned, short>(false)) );
   VERIFY( (test_category<is_unsigned, unsigned short>(true)) );
   VERIFY( (test_category<is_unsigned, int>(false)) );
index b89e9d27f7dda26399562d342d2e6ac0399dc056..291c5b85fb350c30bf03a4ad5e5c1bed4c906104 100644 (file)
@@ -33,9 +33,7 @@ void test01()
   VERIFY( (test_category<is_void, char>(false)) );
   VERIFY( (test_category<is_void, signed char>(false)) );
   VERIFY( (test_category<is_void, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
   VERIFY( (test_category<is_void, wchar_t>(false)) );
-#endif
   VERIFY( (test_category<is_void, short>(false)) );
   VERIFY( (test_category<is_void, unsigned short>(false)) );
   VERIFY( (test_category<is_void, int>(false)) );
index 6b7c8f83955b6187c24d78a17aeb2a771175b88c..36ed00989fa325a922391873aef58d86d53ad269 100644 (file)
@@ -58,10 +58,8 @@ void test01()
   do_test<double>();
   do_test<long double>();
 
-#ifdef _GLIBCXX_USE_WCHAR_T
   do_test<wchar_t>();
   do_test<std::wstring>();
-#endif
 }
 
 int main()