1. 16 Feb, 2001 1 commit
    • Add support for -fno-exceptions. · e2c09482
      
      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
      Benjamin Kosnik committed
  2. 15 Feb, 2001 19 commits
  3. 14 Feb, 2001 20 commits