libstdc++: Enable vstring for wchar_t unconditionally [PR98725]
None of these vstring specializations depend on libc support for wchar_t, so can be enabled unconditionally now that char_traits<wchar_t> is always available. libstdc++-v3/ChangeLog: PR libstdc++/98725 * include/ext/rc_string_base.h [!_GLIBCXX_USE_WCHAR_T] (__rc_string_base<wchar_t>): Define member function. * include/ext/vstring.h [!_GLIBCXX_USE_WCHAR_T] (hash<__gnu_cxx::__wvstring>): Define specialization. * include/ext/vstring_fwd.h [!_GLIBCXX_USE_WCHAR_T] (__wvstring) (__wsso_string, __wrc_string): Declare typedefs.
This commit is contained in:
parent
0afb9ebaab
commit
4997c8b30e
|
@ -719,7 +719,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
return false;
|
||||
}
|
||||
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
template<>
|
||||
inline bool
|
||||
__rc_string_base<wchar_t, std::char_traits<wchar_t>,
|
||||
|
@ -730,7 +729,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
return true;
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
||||
|
|
|
@ -2921,7 +2921,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ return std::_Hash_impl::hash(__s.data(), __s.length()); }
|
||||
};
|
||||
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
/// std::hash specialization for __wvstring.
|
||||
template<>
|
||||
struct hash<__gnu_cxx::__wvstring>
|
||||
|
@ -2932,7 +2931,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ return std::_Hash_impl::hash(__s.data(),
|
||||
__s.length() * sizeof(wchar_t)); }
|
||||
};
|
||||
#endif
|
||||
|
||||
/// std::hash specialization for __u16vstring.
|
||||
template<>
|
||||
|
|
|
@ -58,13 +58,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
__versa_string<char, std::char_traits<char>,
|
||||
std::allocator<char>, __rc_string_base> __rc_string;
|
||||
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
typedef __versa_string<wchar_t> __wvstring;
|
||||
typedef __wvstring __wsso_string;
|
||||
typedef
|
||||
__versa_string<wchar_t, std::char_traits<wchar_t>,
|
||||
std::allocator<wchar_t>, __rc_string_base> __wrc_string;
|
||||
#endif
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
typedef __versa_string<char16_t> __u16vstring;
|
||||
|
|
Loading…
Reference in New Issue