mirror of git://gcc.gnu.org/git/gcc.git
locale_conv.h (__do_str_codecvt): Handle empty range.
* include/bits/locale_conv.h (__do_str_codecvt): Handle empty range. (wstring_convert): Move into __cxx11 namespace. (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception message. From-SVN: r224737
This commit is contained in:
parent
4db6c2f585
commit
9eb659e003
|
|
@ -1,5 +1,10 @@
|
||||||
2015-06-22 Jonathan Wakely <jwakely@redhat.com>
|
2015-06-22 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
|
* include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
|
||||||
|
(wstring_convert): Move into __cxx11 namespace.
|
||||||
|
(wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
|
||||||
|
message.
|
||||||
|
|
||||||
PR libstdc++/64657
|
PR libstdc++/64657
|
||||||
* include/bits/stl_uninitialized.h
|
* include/bits/stl_uninitialized.h
|
||||||
(__uninitialized_copy::__uninit_copy): Cast expression to void.
|
(__uninitialized_copy::__uninit_copy): Cast expression to void.
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
_OutStr& __outstr, const _Codecvt& __cvt, _State& __state,
|
_OutStr& __outstr, const _Codecvt& __cvt, _State& __state,
|
||||||
size_t& __count, _Fn __fn)
|
size_t& __count, _Fn __fn)
|
||||||
{
|
{
|
||||||
|
if (__first == __last)
|
||||||
|
{
|
||||||
|
__outstr.clear();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
size_t __outchars = 0;
|
size_t __outchars = 0;
|
||||||
auto __next = __first;
|
auto __next = __first;
|
||||||
const auto __maxlen = __cvt.max_length() + 1;
|
const auto __maxlen = __cvt.max_length() + 1;
|
||||||
|
|
@ -150,6 +156,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
|
return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_GLIBCXX_BEGIN_NAMESPACE_CXX11
|
||||||
|
|
||||||
/// String conversions
|
/// String conversions
|
||||||
template<typename _Codecvt, typename _Elem = wchar_t,
|
template<typename _Codecvt, typename _Elem = wchar_t,
|
||||||
typename _Wide_alloc = allocator<_Elem>,
|
typename _Wide_alloc = allocator<_Elem>,
|
||||||
|
|
@ -301,6 +309,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
bool _M_with_strings = false;
|
bool _M_with_strings = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_GLIBCXX_END_NAMESPACE_CXX11
|
||||||
|
|
||||||
/// Buffer conversions
|
/// Buffer conversions
|
||||||
template<typename _Codecvt, typename _Elem = wchar_t,
|
template<typename _Codecvt, typename _Elem = wchar_t,
|
||||||
typename _Tr = char_traits<_Elem>>
|
typename _Tr = char_traits<_Elem>>
|
||||||
|
|
@ -325,7 +335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
: _M_buf(__bytebuf), _M_cvt(__pcvt), _M_state(__state)
|
: _M_buf(__bytebuf), _M_cvt(__pcvt), _M_state(__state)
|
||||||
{
|
{
|
||||||
if (!_M_cvt)
|
if (!_M_cvt)
|
||||||
__throw_logic_error("wstring_convert");
|
__throw_logic_error("wbuffer_convert");
|
||||||
|
|
||||||
_M_always_noconv = _M_cvt->always_noconv();
|
_M_always_noconv = _M_cvt->always_noconv();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue