[PATCH 6/8] libstdc++: Define std::wstring_convert unconditionally [PR 98725]

Jonathan Wakely jwakely@redhat.com
Sat Oct 9 00:13:49 GMT 2021


The wchar_t type is defined unconditionally for C++, so there is no
reason for std::wstring_convert and std::wbuffer_convert to be disabled
when <wchar.h> is not usable. It should be possible to use those class
templates with char16_t and char32_t even if wchar_t conversions don't
work.

libstdc++-v3/ChangeLog:

	PR libstdc++/98725
	* include/bits/locale_conv.h (wstring_convert, wbuffer_convert):
	Define unconditionally. Do not check _GLIBCXX_USE_WCHAR_T.
---
 libstdc++-v3/include/bits/locale_conv.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/libstdc++-v3/include/bits/locale_conv.h b/libstdc++-v3/include/bits/locale_conv.h
index 6af8a5bdc8f..41d17238fbd 100644
--- a/libstdc++-v3/include/bits/locale_conv.h
+++ b/libstdc++-v3/include/bits/locale_conv.h
@@ -253,8 +253,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       };
   }
 
-#ifdef _GLIBCXX_USE_WCHAR_T
-
 _GLIBCXX_BEGIN_NAMESPACE_CXX11
 
   /// String conversions
@@ -626,8 +624,6 @@ _GLIBCXX_END_NAMESPACE_CXX11
       bool			_M_always_noconv;
     };
 
-#endif  // _GLIBCXX_USE_WCHAR_T
-
   /// @} group locales
 
 _GLIBCXX_END_NAMESPACE_VERSION
-- 
2.31.1



More information about the Libstdc++ mailing list