Richard Henderson
52a11cbfcf
IA-64 ABI Exception Handling.
...
From-SVN: r40924
2001-03-28 03:04:51 -08:00
Mark Mitchell
94083e5ddb
Remove old ABI support from libsupc++.
...
* libsupc++/cxxabi.h: Remove conditionally compiled code.
* libsupc++/exception_support.cc: Likewise.
* libsupc++/pure.cc: Likewise.
* libsupc++/tinfo.cc: Likewise.
* libsupc++/tinfo.h: Likewise.
* libsupc++/tinfo2.cc: Likewise.
* libsupc++/typeinfo: Likewise.
* libsupc++/vec.cc: Likewise.
From-SVN: r39732
2001-02-16 01:26:14 +00:00
Benjamin Kosnik
e2c094827c
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
2001-02-16 00:44:44 +00:00
Benjamin Kosnik
f84e0dd314
locale_facets.h (class moneypunct): Fix typos.
...
2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (class moneypunct): Fix typos.
* libsupc++/pure.cc: Revert.
From-SVN: r39484
2001-02-06 07:27:25 +00:00
Benjamin Kosnik
58245fb122
pure.cc (writestr): Just use cstdio and std::fputs.
...
2001-01-26 Benjamin Kosnik <bkoz@kredhat.com>
* libsupc++/pure.cc (writestr): Just use cstdio and std::fputs.
From-SVN: r39296
2001-01-27 19:00:09 +00:00
Mark Mitchell
2650255a57
decl.c (init_decl_processing): Correct name of pure virtual function under the new ABI.
...
* decl.c (init_decl_processing): Correct name of pure virtual
function under the new ABI.
* rtti.c (throw_bad_cast): Likewise, for bad cast function.
(throw_bad_typeid): Likewise for bad typeid function.
* libsupc++/exception_support.cc (__throw_bad_cast): Name it
__cxa_bad_cast under the new ABI.
(__throw_bad_typeid): Name it __cxa_bad_typeid under the new ABI.
* libsupc++/pure.cc (__pure_virtual): Name it __cxa_pure_virtual
under the new ABI.
From-SVN: r37575
2000-11-19 21:07:24 +00:00
Benjamin Kosnik
a6863e2538
Makefile.am (LIBSUPCXX_INCLUDES): Adjust.
...
2000-10-10 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* Makefile.am (LIBSUPCXX_INCLUDES): Adjust.
* libsupc++/include: Remove
* libsupc++/include/*: Move to ...
* libsupc++: Here.
* libsupc++/Makefile.am (glibcppinstall_HEADERS): Install headers.
(glibcppinstalldir): New.
* src/Makefile.am (c_base_headers): New.
(c_shadow_headers): New
(c_headers): New.
(myinstallheaders): Correct install issues.
* src/Makefile.in: Regenerate.
* Makefile.am (CSHADOW_INCLUDES): Simplify.
* Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add c_include_dir.
* aclocal.m4: Regenerate.
* mkcheck.in (SRC_DIR): Use it.
* include/bits/std_stdexcept.h: And here.
* include/bits/std_ios.h: Change std_exception.h to exception.
* src/locale.cc: And here.
* src/locale-inst.cc: And here.
* include/bits/valarray_array.h: And here.
* include/bits/stl_alloc.h: And here.
* include/bits/stl_algobase.h: And here.
* include/bits/pthread_allocimpl.h: And here.
* include/bits/stl_construct.h: Change to std_new.h to new.
* include/bits/locale_facets.h: Change std_typeinfo.h to typeinfo.
* src/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
(headers): Remove duplicated headers.
(std_headers): And here.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am (LIBSUPCXX_INCLUDES): Remove.
* libsupc++/Makefile.in: Regenerate.
* Makefile.am (LIBSUPCXX_INCLUDES): Add here.
(AM_MAKEFLAGS): And here.
* Makefile.in: Regenerate.
* include/bits/std_typeinfo.h: Remove.
* include/bits/std_new.h: Remove
* include/bits/std_exception.h: Remove.
* std/new: Remove.
* std/typeinfo: Remove.
* std/exception: Remove.
* libio/_G_config.h (__need_ptrdiff_t): Add.
* libsupc++/include/new: Change stddef.h to cstddef.
* libsupc++/tinfo.h: Change limits.h to climits.
* libsupc++/pure.cc: Comment out _GNU_LIBRARY_ bits, as this
renders the file uncompilable. Add copyright.
* include/c_std/bits/std_cstddef.h: Don't bring wchar_t into std
namespace, as it is a fundamental type.
From-SVN: r36833
2000-10-10 23:50:39 +00:00
Richard Henderson
3734420fe1
pure.cc: New file.
...
* libsupc++/pure.cc: New file.
* libsupc++/Makefile.am (INCLUDES): Add top_builddir.
(sources): Add pure.cc.
* libsupc++/Makefile.in: Regenerate.
From-SVN: r36815
2000-10-09 14:04:58 -07:00