]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/include/bits/basic_string.tcc
Add support for -fno-exceptions.
authorBenjamin Kosnik <bkoz@redhat.com>
Fri, 16 Feb 2001 00:44:44 +0000 (00:44 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Fri, 16 Feb 2001 00:44:44 +0000 (00:44 +0000)
commite2c094827c86cb0cbf71ba3b16b09541e61502c2
treef60e91555ba38a22be308cded2cce3256e60e62a
parent777c9517422d911f184ccde6edd59c317ce5edd8
Add support for -fno-exceptions.

2001-02-15  Benjamin Kosnik  <bkoz@redhat.com>

Add support for -fno-exceptions.
* include/bits/exception_support.h: Remove.
* include/bits/basic_string.h: Remove exception_support.
(string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range.
(string::at): Same.
(string::substr): Same.
* include/bits/basic_string.tcc (string::reserve): Replace
__LENGTHERROR with __throw_length_error.
(string::_S_create): Same.
(string::resize): Same.
(string::_M_replace): Same.
(string::replace): Same.
(string::copy): Replace __OUTOFRANGE with __throw_out_of_range.
(string::compare): Same.
* include/bits/stl_vector.h: Remove exception_support.
* src/Makefile.am (base_headers): Remove here.
* src/Makefile.in: Regenerate.

* include/bits/stl_range_errors.h: Remove.
* include/bits/stl_deque.h: Use __throw_range_error.
* include/bits/std_deque.h: Include functexcept.h.
* include/bits/std_vector.h: Same.
* src/Makefile.am (base_headers): Remove here.
* src/Makefile.in: Regenerate.
* include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error.
* include/ext/bvector: Remove stl_range_errors.h

* include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove.

* include/bits/functexcept.h: New file.
* src/functexcept.cc: New file. Definitions for function-based
exception routines.
* src/Makefile.am (sources): Add functexcept.cc.
* src/Makefile.in: Regenerate.

* include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with
__EXCEPTIONS.

* include/bits/localefwd.h: Include functexcept.h.
* include/bits/std_iosfwd.h: Same.

* include/bits/basic_ios.h: Use __throw_ios_failure instead of
throw basic_ios::failure.
* include/bits/fstream.tcc (filebuf::_M_allocate_buffers):
Use __throw_exception_again.
(filebuf::_M_filebuf_init): Same.
* include/bits/streambuf.tcc (__copy_streambufs): Same.
* include/bits/ostream.tcc (ostream::operator<<): Same.
* include/bits/istream.tcc (istream::operator>>): Same.
* include/bits/basic_string.tcc (string::_M_mutate): Same.
(string::_S_construct): Same.
(string::_M_clone): Same.
* include/bits/locale_facets.tcc (use_facet(const locale&)): Use
__throw_bad_cast.
(num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again.
* src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use
__throw_exception_again.
(locale::_Imp::_Imp(string, size_t): Same.
(locale::_Imp::_M_replace_facet): Use __throw_runtime_error.
* src/locale.cc (locale::_M_coalesce): Use __throw_exception_again.
(locale::locale(const char*)): Use __throw_runtime_error.
(locale::classic): Use __throw_exception_again.
(locale::_S_normalize_category): Use __throw_runtime_error.

* src/stdexcept.cc: Remove cruft.

* libsupc++/exception_defines.h: New file.
* libsupc++/new_opnt.cc: Include exception_defines.h.
* libsupc++/vec.cc: Same.
(__cxa_vec_new2): Use __throw_exception_again.
(__cxa_vec_new3): Same.
(__cxa_vec_ctor): Same.
(__cxa_vec_delete3): Same.
(__cxa_vec_cctor): Same.
(__cxa_vec_delete2): Same.
(__cxa_vec_dtor): Same.
* libsupc++/exception_support.cc: Include exception_defines.h. Only
compile exception-handling bits if __EXCEPTIONS is defined.
Remove old ABI support.
* libsupc++/new_op.cc (new): Include exception_defines.h. Use
std::__throw_bad_alloc() instead of throw bad_alloc.
* libsupc++/Makefile.am: Add exception_defines.h.
* libsupc++/Makefile.in: Reformat.
* libsupc++/*: Format.

From-SVN: r39730
51 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/configure
libstdc++-v3/include/bits/basic_ios.h
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/bits/basic_string.tcc
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/fstream.tcc
libstdc++-v3/include/bits/functexcept.h [moved from libstdc++-v3/include/bits/exception_support.h with 54% similarity]
libstdc++-v3/include/bits/istream.tcc
libstdc++-v3/include/bits/locale_facets.tcc
libstdc++-v3/include/bits/localefwd.h
libstdc++-v3/include/bits/ostream.tcc
libstdc++-v3/include/bits/std_deque.h
libstdc++-v3/include/bits/std_iosfwd.h
libstdc++-v3/include/bits/std_vector.h
libstdc++-v3/include/bits/stl_config.h
libstdc++-v3/include/bits/stl_deque.h
libstdc++-v3/include/bits/stl_range_errors.h [deleted file]
libstdc++-v3/include/bits/stl_vector.h
libstdc++-v3/include/bits/streambuf.tcc
libstdc++-v3/include/ext/bvector
libstdc++-v3/include/ext/stl_bvector.h
libstdc++-v3/libsupc++/Makefile.am
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/libsupc++/cxxabi.h
libstdc++-v3/libsupc++/del_op.cc
libstdc++-v3/libsupc++/del_opnt.cc
libstdc++-v3/libsupc++/del_opv.cc
libstdc++-v3/libsupc++/del_opvnt.cc
libstdc++-v3/libsupc++/exception
libstdc++-v3/libsupc++/exception_defines.h [new file with mode: 0644]
libstdc++-v3/libsupc++/exception_support.cc
libstdc++-v3/libsupc++/exception_support.h
libstdc++-v3/libsupc++/new_handler.cc
libstdc++-v3/libsupc++/new_op.cc
libstdc++-v3/libsupc++/new_opnt.cc
libstdc++-v3/libsupc++/new_opv.cc
libstdc++-v3/libsupc++/new_opvnt.cc
libstdc++-v3/libsupc++/pure.cc
libstdc++-v3/libsupc++/tinfo.cc
libstdc++-v3/libsupc++/tinfo.h
libstdc++-v3/libsupc++/tinfo2.cc
libstdc++-v3/libsupc++/typeinfo
libstdc++-v3/libsupc++/vec.cc
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/complex_io.cc
libstdc++-v3/src/functexcept.cc [new file with mode: 0644]
libstdc++-v3/src/locale.cc
libstdc++-v3/src/localename.cc
libstdc++-v3/src/stdexcept.cc