https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98725
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:3c9fbc26af6739c7ddf8f0895ae68b530cf88bbe commit r12-4266-g3c9fbc26af6739c7ddf8f0895ae68b530cf88bbe Author: Jonathan Wakely <jwak...@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.