* config/locale/generic/c_locale.cc: Fix throw messages
to use the __N marker.
* config/locale/gnu/c_locale.cc: Likewise.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
Likewise.
* docs/html/17_intro/C++STYLE: Likewise.
* include/bits/basic_ios.tcc: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/bits/vector.tcc: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/std/std_bitset.h: Likewise.
* src/ios.cc: Likewise.
* src/locale.cc: Likewise.
* src/localename.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76684
138bc75d-0d04-0410-961f-
82ee72b054a4
2004-01-26 Paolo Carlini <pcarlini@suse.de>
+ * config/locale/generic/c_locale.cc: Fix throw messages
+ to use the __N marker.
+ * config/locale/gnu/c_locale.cc: Likewise.
+ * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
+ Likewise.
+ * docs/html/17_intro/C++STYLE: Likewise.
+ * include/bits/basic_ios.tcc: Likewise.
+ * include/bits/fstream.tcc: Likewise.
+ * include/bits/vector.tcc: Likewise.
+ * include/ext/ropeimpl.h: Likewise.
+ * include/std/std_bitset.h: Likewise.
+ * src/ios.cc: Likewise.
+ * src/locale.cc: Likewise.
+ * src/localename.cc: Likewise.
+
+2004-01-26 Paolo Carlini <pcarlini@suse.de>
+
* include/bits/basic_string.h (_M_replace_aux): Use the
__N marker in throw message.
* include/bits/basic_string.tcc (assign(const _CharT*,
// See http://gcc.gnu.org/ml/libstdc++/2003-02/msg00345.html
__cloc = NULL;
if (strcmp(__s, "C"))
- __throw_runtime_error("locale::facet::_S_create_c_locale "
- "name not valid");
+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
+ "name not valid"));
}
void
if (!__cloc)
{
// This named locale is not supported by the underlying OS.
- __throw_runtime_error("locale::facet::_S_create_c_locale "
- "name not valid");
+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
+ "name not valid"));
}
}
{
_M_in_desc = iconv_open(_M_int_enc, _M_ext_enc);
if (_M_in_desc == __err)
- __throw_runtime_error("__enc_traits::_M_init "
- "creating iconv input descriptor failed");
+ __throw_runtime_error(__N("__enc_traits::_M_init "
+ "creating iconv input descriptor failed"));
}
if (!_M_out_desc)
{
_M_out_desc = iconv_open(_M_ext_enc, _M_int_enc);
if (_M_out_desc == __err)
- __throw_runtime_error("__enc_traits::_M_init "
- "creating iconv output descriptor failed");
+ __throw_runtime_error(__N("__enc_traits::_M_init "
+ "creating iconv output descriptor failed"));
}
}
All start with the name of the function where the exception is
thrown, and then (optional) descriptive text is added. Example:
- __throw_logic_error("basic_string::_S_construct NULL not valid");
+ __throw_logic_error(__N("basic_string::_S_construct NULL not valid"));
Reason: The verbose terminate handler prints out exception::what(),
as well as the typeinfo for the thrown exception. As this is the
else
_M_streambuf_state = __state | badbit;
if (this->exceptions() & this->rdstate())
- __throw_ios_failure("basic_ios::clear");
+ __throw_ios_failure(__N("basic_ios::clear"));
}
template<typename _CharT, typename _Traits>
// codecvt::max_length() is bogus.
if (_M_ext_end - _M_ext_buf + __rlen > _M_ext_buf_size)
{
- __throw_ios_failure("basic_filebuf::underflow "
+ __throw_ios_failure(__N("basic_filebuf::underflow "
"codecvt::max_length() "
- "is not valid");
+ "is not valid"));
}
streamsize __elen = _M_file.xsgetn(_M_ext_end, __rlen);
if (__elen == 0)
// However, reaching it while looping on partial means that
// the file has got an incomplete character.
if (__r == codecvt_base::partial)
- __throw_ios_failure("basic_filebuf::underflow "
- "incomplete character in file");
+ __throw_ios_failure(__N("basic_filebuf::underflow "
+ "incomplete character in file"));
}
else if (__r == codecvt_base::error)
- __throw_ios_failure("basic_filebuf::underflow "
- "invalid byte sequence in file");
+ __throw_ios_failure(__N("basic_filebuf::underflow "
+ "invalid byte sequence in file"));
else
- __throw_ios_failure("basic_filebuf::underflow "
- "error reading the file");
+ __throw_ios_failure(__N("basic_filebuf::underflow "
+ "error reading the file"));
}
return __ret;
}
reserve(size_type __n)
{
if (__n > this->max_size())
- __throw_length_error("vector::reserve");
+ __throw_length_error(__N("vector::reserve"));
if (this->capacity() < __n)
{
const size_type __old_size = size();
}
if (__result->_M_depth > _RopeRep::_S_max_rope_depth)
- __throw_length_error("rope::_S_balance");
+ __throw_length_error(__N("rope::_S_balance"));
return(__result);
}
size_t __position = 0) : _Base()
{
if (__position > __s.size())
- __throw_out_of_range("bitset::bitset initial position not valid");
+ __throw_out_of_range(__N("bitset::bitset initial position "
+ "not valid"));
_M_copy_from_string(__s, __position,
basic_string<_CharT, _Traits, _Alloc>::npos);
}
size_t __position, size_t __n) : _Base()
{
if (__position > __s.size())
- __throw_out_of_range("bitset::bitset initial position not valid");
+ __throw_out_of_range(__N("bitset::bitset initial position "
+ "not valid"));
_M_copy_from_string(__s, __position, __n);
}
template<size_t _Nb>
template<class _CharT, class _Traits, class _Alloc>
void
- bitset<_Nb>::_M_copy_from_string(const basic_string<_CharT,_Traits,_Alloc>& __s, size_t __pos, size_t __n)
+ bitset<_Nb>::_M_copy_from_string(const basic_string<_CharT, _Traits,
+ _Alloc>& __s, size_t __pos, size_t __n)
{
reset();
const size_t __nbits = std::min(_Nb, std::min(__n, __s.size() - __pos));
set(__i);
break;
default:
- __throw_invalid_argument("bitset::_M_copy_from_string");
+ __throw_invalid_argument(__N("bitset::_M_copy_from_string"));
}
}
}
template<size_t _Nb>
template<class _CharT, class _Traits, class _Alloc>
void
- bitset<_Nb>::_M_copy_to_string(basic_string<_CharT, _Traits, _Alloc>& __s) const
+ bitset<_Nb>::_M_copy_to_string(basic_string<_CharT, _Traits,
+ _Alloc>& __s) const
{
__s.assign(_Nb, '0');
for (size_t __i = 0; __i < _Nb; ++__i)
{
_M_streambuf_state |= badbit;
if (_M_streambuf_state & _M_exception)
- __throw_ios_failure("ios_base::_M_grow_words "
- "allocation failed");
+ __throw_ios_failure(__N("ios_base::_M_grow_words "
+ "allocation failed"));
return _M_word_zero;
}
for (int i = 0; i < _M_word_size; i++)
{
_M_streambuf_state |= badbit;
if (_M_streambuf_state & _M_exception)
- __throw_ios_failure("ios_base::_M_grow_words is not valid");
+ __throw_ios_failure(__N("ios_base::_M_grow_words is not valid"));
return _M_word_zero;
}
}
__ret = all;
break;
default:
- __throw_runtime_error("locale::_S_normalize_category "
- "category not found");
+ __throw_runtime_error(__N("locale::_S_normalize_category "
+ "category not found"));
}
}
return __ret;
{
size_t __index = __idp->_M_id();
if ((__index > (__imp->_M_facets_size - 1)) || !__imp->_M_facets[__index])
- __throw_runtime_error("locale::_Impl::_M_replace_facet");
+ __throw_runtime_error(__N("locale::_Impl::_M_replace_facet"));
_M_install_facet(__idp, __imp->_M_facets[__index]);
}
}
}
else
- __throw_runtime_error("locale::locale NULL not valid");
+ __throw_runtime_error(__N("locale::locale NULL not valid"));
}
locale::locale(const locale& __base, const char* __s, category __cat)