[gcc r12-4266] libstdc++: Define std::wstring_convert unconditionally [PR 98725]

Jonathan Wakely redi@gcc.gnu.org
Sat Oct 9 00:15:27 GMT 2021


https://gcc.gnu.org/g:3c9fbc26af6739c7ddf8f0895ae68b530cf88bbe

commit r12-4266-g3c9fbc26af6739c7ddf8f0895ae68b530cf88bbe
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Oct 8 14:25:42 2021 +0100

    libstdc++: Define std::wstring_convert unconditionally [PR 98725]
    
    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.

Diff:
---
 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


More information about the Libstdc++-cvs mailing list