diff --git a/libstdc++-v3/include/bits/locale_conv.h b/libstdc++-v3/include/bits/locale_conv.h index 0e409da9876..d8a4d0851f4 100644 --- a/libstdc++-v3/include/bits/locale_conv.h +++ b/libstdc++-v3/include/bits/locale_conv.h @@ -222,11 +222,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif // _GLIBCXX_USE_CHAR8_T #ifdef _GLIBCXX_USE_WCHAR_T +# define _GLIBCXX_WCHAR_DEFAULT_TEMPL_ARG = wchar_t +#else +// wstring_convert and wbuffer_convert are still defined for targets without +// wchar_t support, but the second template argument must be given explictly. +# define _GLIBCXX_WCHAR_DEFAULT_TEMPL_ARG +#endif _GLIBCXX_BEGIN_NAMESPACE_CXX11 /// String conversions - template, typename _Byte_alloc = allocator> class wstring_convert @@ -382,7 +388,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 /// Buffer conversions - template> class wbuffer_convert : public basic_streambuf<_Elem, _Tr> { @@ -606,8 +612,6 @@ _GLIBCXX_END_NAMESPACE_CXX11 bool _M_always_noconv; }; -#endif // _GLIBCXX_USE_WCHAR_T - /// @} group locales _GLIBCXX_END_NAMESPACE_VERSION