Paul Brook
1568430fae
configure.ac: Set ABI_TWEAKS_SRCDIR.
...
* configure.ac: Set ABI_TWEAKS_SRCDIR.
* configure.host: Set abi_tweaks_dir. Check for atomicity.h when
setting atomicity_dir. Override type_cpu for arm based targets.
* include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
* libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
* libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
* libsupc++/vec.cc: Ditto.
* config/cpu/arm/cxxabi_tweaks.h: New file.
* config/cpu/generic/cxxabi_tweaks.h: New file.
* */Makefile.in: Regenerate.
* configure: Regenerate.
From-SVN: r84032
2004-07-02 23:40:19 +00:00
Paul Brook
46e995e0e4
target-def.h (TARGET_CXX_GET_COOKIE_SIZE, [...]): Define.
...
gcc/
* target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
TARGET_CXX_COOKIE_HAS_SIZE): Define.
(TARGET_CXX): Use them.
* target.h (struct gcc_target): Add cxx.get_cookie_size and
cxx.cookie_has_size.
* targhooks.c (default_cxx_get_cookie_size): New fucntion.
* targhooks.h (default_cxx_get_cookie_size): Add prototype.
* config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
TARGET_CXX_COOKIE_HAS_SIZE): Define.
(arm_get_cookie_size, arm_cookie_has_size): New functions.
* Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
* doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
TARGET_CXX_COOKIE_HAS_SIZE.
gcc/cp/
* init.c: Include target.h.
(get_cookie_size): Remove and replace with target hook.
Update callers.
(build_new_1): Store the element size in the cookie.
libstdc++-v3/
* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
element size in the cookie.
testsuite/
* g++.old-deja/g++.abi/arraynew.C: Handle ARM EABI cookies.
* g++.old-deja/g++.abi/cxa_vec.C: Allocate larger cookies for AEABI.
From-SVN: r83854
2004-06-29 14:50:35 +00:00
Benjamin Kosnik
52ceb03971
cxxabi.h: Remove duplicated and useless public and private keywords in class declarations.
...
2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/cxxabi.h: Remove duplicated and useless public and
private keywords in class declarations. Format. Use
stddef.h. Expose declarations to "C" compilation.
* libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
assignment operator.
(__dyncast_result): Same.
* libsupc++/vec.cc (uncatch_exception): Same, use member
initialization list.
From-SVN: r82147
2004-05-22 21:07:28 +00:00
Jonathan Wakely
3ab3dca624
vec.cc: Conform to C++STYLE.
...
2003-11-07 Jonathan Wakely <redi@gcc.gnu.org>
* libsupc++/vec.cc: Conform to C++STYLE.
From-SVN: r73350
2003-11-08 00:36:13 +00:00
Jeffrey D. Oldham
d30b600a6e
vec.cc (__cxa_vec_delete2): If given a NULL pointer, immediately return.
...
2003-11-04 Jeffrey D. Oldham <oldham@codesourcery.com>
* libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
immediately return. This reflects a C++ ABI change 2003 Nov 03.
(__cxa_vec_delete3): Likewise.
From-SVN: r73263
2003-11-05 04:37:03 +00:00
Jeffrey D. Oldham
520abf6930
vec.cc (__cxa_vec_new2): If the allocator returns NULL, return NULL.
...
2003-09-10 Jeffrey D. Oldham <oldham@codesourcery.com>
* libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
NULL, return NULL. This reflects a C++ ABI change 2003 Sep 05.
(__cxa_vec_new3): Likewise.
From-SVN: r71273
2003-09-10 15:41:48 +00:00
Nathanael Nerode
cbecceb923
Makefile.am, [...]: Replace "GNU CC" with "GCC".
...
2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
* libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
libsupc++/eh_unex_handler.cc, libsupc++/exception,
libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
Replace "GNU CC" with "GCC".
From-SVN: r67155
2003-05-24 16:22:03 +00:00
Benjamin Kosnik
322821b9ad
Make -fno-exceptions work.
...
2001-10-23 Benjamin Kosnik <bkoz@redhat.com>
Make -fno-exceptions work.
* config/locale/c_locale_gnu.cc: Use functexcept.
* include/bits/c++config (__stl_assert): Remove.
(__STL_USE_EXCEPTIONS): Same.
(__STL_TRY): Same.
(__STL_CATCH_ALL): Same.
(__STL_THROW): Same.
(__STL_RETHROW): Same.
(__STL_NOTHROW): Same.
(__STL_UNWIND): Same.
* include/bits/pthread_allocimpl.h: Fix.
* include/bits/std_bitset.h: Same.
* include/bits/std_list.h: Same.
* include/bits/std_memory.h: Same.
* include/bits/std_queue.h: Same.
* include/bits/stl_alloc.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/stl_vector.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/slist: Same.
* include/ext/stl_hashtable.h: Same.
* include/ext/stl_rope.h: Same.
* libsupc++/new_op.cc: Include cstdlib.
* libsupc++/eh_personality.cc: Add exception_defines include. Use
__throw_exception_again, tweak.
* libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
* libsupc++/vec.cc: Tweak.
* src/functexcept.cc: Remove unused arguments.
* testsuite/23_containers/bitset_members.cc: Tweak.
From-SVN: r46455
2001-10-24 02:37:56 +00:00
Richard Henderson
52a11cbfcf
IA-64 ABI Exception Handling.
...
From-SVN: r40924
2001-03-28 03:04:51 -08:00
Jason Merrill
f8c02bc55a
vec.cc (__cxa_vec_cleanup): New fn.
...
* libsupc++/vec.cc (__cxa_vec_cleanup): New fn.
(__cxa_vec_ctor, __cxa_vec_cctor, __cxa_vec_dtor): Call it.
* libsupc++/cxxabi.h: Declare it.
From-SVN: r40657
2001-03-20 11:59:44 -05:00
Stephen M. Webb
f283dc4414
vec.cc (__cxxa_vec_new2): Qualify size_t.
...
2001-03-05 Stephen M. Webb <stephen.webb@cybersafe.com>
* libsupc++/vec.cc (__cxxa_vec_new2): Qualify size_t.
From-SVN: r40253
2001-03-06 01:31:09 +00: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
Mark Mitchell
f1f0c5a2f7
exception_support.h: New header file.
...
* libsupc++/exception_support.h: New header file.
* libsupc++/vec.cc: Include it.
(__cxa_vec_new2): Recatch exceptions before rethrows.
(__cxa_vec_new3): Likewise.
(__cxa_vec_ctor): Likewise.
(__cxa_vec_cctor): Likewise.
(__cxa_vec_dtor): Likewise.
(__cxa_vec_delete2): Likewise.
(__cxa_vec_delete3): Likewise.
From-SVN: r37551
2000-11-19 02:22:53 +00:00
Benjamin Kosnik
6b76f569a3
[multiple changes]
...
2000-10-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* docs/links.html: Add links to defects list, standards FAQ.
* testsuite/21_strings/ctor_copy_dtor.cc (test01): Disable tests
with string creation that allocate huge ammounts of memory.
* include/c/bits/std_cstddef.h: Put size_t, ptrdiff_t in
namepace std.
2000-10-21 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* libsupc++/exception.cc: Use namespace std.
* libsupc++/new: DITTO.
* libsupc++/new_op.cc: DITTO.
* libsupc++/new_opnt.cc: DITTO.
* libsupc++/new_opv.cc: DITTO.
* libsupc++/new_opvnt.cc: DITTO.
* libsupc++/tinfo.cc: DITTO.
* libsupc++/tinfo.h: DITTO.
* libsupc++/vec.cc: DITTO.
* libsupc++/Makefile.am: Blank lines removal.
From-SVN: r36995
2000-10-21 16:50:29 +00:00
Benjamin Kosnik
06bd10fb63
libsupc++: New directory.
...
2000-10-06 Benjamin Kosnik <bkoz@cygnus.com>
Richard Henderson <rth@cygnus.com>
Alexandre Oliva <aoliva@redhat.com>
* libsupc++: New directory.
* libsupc++/*: Populate.
* libsupc++/Makefile.am (INCLUDES): Add -I../../gcc for
eh-common.h, gansidecl.h.
* configure.in: Add in libsupc++/Makefile to AC_OUTPUT.
* configure: Regenerate.
* Makefile.am (SUBDIRS): Add libsupc++.
* Makefile.in: Regenerate.
* src/Makefile.am (libstdc___la_LIBADD): Add in libsupc++.la
* src/Makefile.in: Regenerate.
* libio/Makefile.am: Remove extraneous, confusing bits.
* libio/Makefile.in: Regeneate.
From-SVN: r36763
2000-10-06 23:31:22 +00:00