summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/libsupc++/eh_catch.cc
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years in libstdc++-v3/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206301 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.jakub2013-03-151-0/+3
| | | | | | | | | | | (PROBE2): New macro. * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe. * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe. * configure.ac: Check for sys/sdt.h. * configure, config.h.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196674 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright in libstdc++-v3.rsandifo2013-02-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195701 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2011-10-101-3/+3
| | | | | | | | | | | | | | | | PR libstdc++/49818 * config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols. * testsuite/util/testsuite_abi.cc: Same. * libsupc++/unwind-cxx.h: Move required eh API... * libsupc++/cxxabi.h: ... to here. Add required forward declarations. Use _GLIBCXX_NOTHROW. * libsupc++/pure.cc (__cxa_deleted_virtual): Add. * libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW. * libsupc++/eh_catch.cc: Same. * libsupc++/eh_globals.cc: Same. * libsupc++/eh_type.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179769 138bc75d-0d04-0410-961f-82ee72b054a4
* Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.jakub2009-04-091-15/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145841 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-21 Benjamin Kosnik <bkoz@redhat.com>bkoz2005-11-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libsupc++/del_op.cc: Include c++config.h first. * libsupc++/eh_alloc.cc: Same. * libsupc++/new_opv.cc: Same. * libsupc++/eh_throw.cc: Same. * libsupc++/new_op.cc: Same. * libsupc++/del_opv.cc: Same. * libsupc++/eh_catch.cc: Same. * libsupc++/guard.cc: Same. * libsupc++/del_opnt.cc: Same. * libsupc++/eh_exception.cc: Same. * libsupc++/new_opvnt.cc: Same. * libsupc++/eh_term_handler.cc: Same. * libsupc++/eh_personality.cc: Same. * libsupc++/eh_call.cc: Same. * libsupc++/new_opnt.cc: Same. * libsupc++/del_opvnt.cc: Same. 2005-11-21 Benjamin Kosnik <bkoz@redhat.com> * src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last. * libsupc++/Makefile.am: Same. * src/Makefile.in: Regenerate. * libsupc++/Makefile.in: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107343 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-17 Kelley Cook <kcook@gcc.gnu.org>kcook2005-08-171-2/+2
| | | | | | | * All files: Update FSF address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103192 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-28 Paul Brook <paul@codesourcery.com>pbrook2005-06-281-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * Makefile.in: Set and use UNWIND_H. Install as unwind.h. * c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc. * except.c (add_ehspec_entry): Generate arm eabi filter lists. (assign_filter_values): Ditto. (output_ttype): New function. (output_function_exception_table): Use output_ttype. Generate arm eabi filter lists. (default_init_unwind_resume_libfunc): New function. * except.h (default_init_unwind_resume_libfunc): Add prototype. * optabs.c (init_optabs): Don't set unwind_resume_libfunc. * opts.c (decode_options): Use targetm.unwind_tables_default. * target-def.h (TARGET_ASM_TTYPE): Provide and use definition. (TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto. * target.h (struct gcc_target): Add asm.ttype, unwind_tables_default and arm_eabi_unwinder. * unwind-c.c: Support Arm EABI unwinder. * unwind.h: Rename ... * unwind-generic.h: ... To this. * doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document. (TARGET_UNWID_TABLES_DEFAULT): Document. * config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype. * config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions. (TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Define. (thumb_pushpop, thumb_output_function_prologue): Output unwinding directives. (arm_unwind_emit_stm, arm_unwind_emit_set): New functions. * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when !TARGET_UNWIND_INFO. (ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define. * config/arm/bpabi.h (TARGET_UNWIND_INFO): Define. * config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND. * config/arm/lib1funcs.asm: Include libunwind.S. * config/arm/libgcc-bpabi.ver: Add unwinding routines. * config/arm/libunwind.S: New file. * config/arm/pr-support.c: New file. * config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind. (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set. * config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set. * config/arm/unwind-arm.c: New file. * config/arm/unwind-arm.h: New file. * config/i386/t-netware (USER_H): Remove unwind.h. * config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define. gcc/cp/ * Make-lang.in (cp/except.o): Depend on $(TARGET_H) * except.c: Include target.h. (init_exception_processing): Initialize unwind_resume_libfunc. * doc/tm.texi: Document TARGET_ASM_TTYPE gcc/ada/ * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc. gcc/java/ * decl.c (java_init_decl_processing): Call default_init_unwind_resume_libfunc. gcc/objc/ * objc-act.c (objc_init_exceptions): Call default_init_unwind_resume_libfunc. libstdc++/ * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for __cxa_end_cleanup. * libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c. * libsupc++/eh_arm.cc: New file. * libsupc++/eh_call.cc: New file. * libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use __gxx_caught_object. (__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call _Unwind_Complete when using the ARM EABI. (__cxa_end_catch): Use __is_gxx_exception_class. * libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when using the ARM EABI. (save_caught_exception, restore_caught_exception): New functions. (_throw_typet): New typedef. (get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM EABI implementations. (PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI unwinding libary. (__cxa_unexpected): Disable when using the ARM EABI. * libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS. (__cxa_rethrow): Use __is_gxx_exception_class. Call _Unwind_RaiseException when using the ARM EABI. * libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM EABI semantics. (struct __cxa_eh_globals): Ditto. (__cxa_call_terminate): Add prototype. (__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add prototypes. (__get_exception_header_from_obj, __get_exception_header_from_ue): Move earlier in file. (__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS, __gxx_caught_object): New functions. * aclocal.m4: Regenerate. * configure: Regenerate. * Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libmath/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * src/Makefie.in: Regenerate. * testsuite/makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101385 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/20091rth2005-02-221-5/+4
| | | | | | | | * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case decrement of uncaughtExceptions for rethrow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95419 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/10606rth2005-02-191-4/+10
| | | | | | | | | | | | | | | | | | gcc/cp/ * except.c (do_get_exception_ptr): New. (expand_start_catch_block): Use it. libstdc++/ * config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr. * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment uncaughtExceptions here instead of ... * libsupc++/eh_throw.cc (__cxa_throw) ... here. (__cxa_rethrow): Increment uncaughtExceptions here instead of ... * libsupc++/eh_catch.cc (__cxa_end_catch): ... here. (__cxa_get_exception_ptr): New. * libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95262 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi.h: Make all declarations have defaultmmitchel2004-08-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | visibility. * libsupc++/exception: Likewise. * libsupc++/new: Likewise. * libsupc++/typeinfo: Likewise. * libsupc++/unwind-cxx.h: Likewise. * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into the __cxxabiv1 namespace. (__cxa_free_exception): Likewise. * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise. (__cxa_bad_typeid): Likewise. * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise. (__cxa_end_catch): Likewise. * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise. (__cxa_get_globals): Likewise. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. (__cxa_rethrow): Likewise. * libsupc++/pure.cc (__cxa_pure_virtual): Likewise. * libsupc++/eh_type.cc: Include <cxxabi.h>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85463 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-04-06 Benjamin Kosnik <bkoz@redhat.com>bkoz2004-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixups for EDG front end. * include/ext/rope: Instead of non-existent function _Data_allocate, use allocator's allocate. Use this. (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag enumerations from _Rope_RopeRep here. * include/ext/ropeimpl.h: Same. * src/ext-inst.cc (_S_min_len): Fix up definition. * config/locale/gnu/ctype_members.cc: Qualify base class members with this. * config/locale/generic/ctype_members.cc: Same. * config/locale/gnu/messages_members.h: Same. * config/locale/generic/messages_members.h: Same. * src/ctype.cc: Same. * include/bits/codecvt.h: Same. * include/bits/boost_concept_check.h: Declare. (__error_type_must_be_an_unsigned_integer_type): Remove this. (__error_type_must_be_an_integer_type): Remove this. (__error_type_must_be_a_signed_integer_type): Remove this. * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast. * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception specification to definition. (__cxa_allocate_exception): Same. * libsupc++/eh_catch.cc (__cxa_begin_catch): Same. * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same. (__cxa_get_globals): Same. * libsupc++/del_op.cc: Add comment about freestanding. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80475 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/14026rth2004-02-081-3/+5
| | | | | | | | | * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust uncaughtExceptions during nested catch rethrow. * testsuite/18_support/14026.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77492 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>neroden2003-05-241-4/+4
| | | | | | | | | | | | | | | | | | | * 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". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67155 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rth2003-05-071-9/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * except.c: Revert 04-01 and 04-02 forced-unwind changes. * flags.h, toplev.c, doc/invoke.texi: Likewise. * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning. * unwind.inc (_Unwind_DeleteException): Check for null exception_cleanup. * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New. * unwind.inc (_Unwind_Resume_or_Rethrow): New. * unwind.h: Declare them. * libgcc-std.ver (GCC_3.3): Export them. gcc/cp/ * cfns.gperf: Comment out POSIX thread cancellation points, plus abort and raise. * cfns.h: Regenerate. gcc/testsuite/ * g++.dg/eh/forced1.C: Expect catch-all handlers to run. Verify exception_cleanup not called for rethrows. * g++.dg/eh/forced2.C: Test that exception_cleanup is called when exiting catch block without rethrowing. * g++.dg/eh/forced3.C: New. * g++.dg/eh/forced4.C: New. libstdc++-v3/ * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions. (__cxa_end_catch): Likewise. * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use _Unwind_Resume_or_Rethrow. * libsupc++/eh_personality.cc (empty_exception_spec): New. (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all for _UA_FORCE_UNWIND. Honor empty filter spec for foreign exceptions. Don't push terminate/unexpected to cxa functions. (__cxa_call_unexpected): Remove foreign exception fixmes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66583 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/eh_personality.cc (__cxa_call_unexpected): Take void*.jason2001-11-181-1/+4
| | | | | | | | | | | | | | | | | | * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise. * libsupc++/unwind-cxx.h: Adjust. * src/Makefile.am (strstream.o): Pass -Wno-deprecated. * libsupc++/eh_type.cc (__cxa_current_exception_type): New file. * libsupc++/cxxabi.h: Declare it. * libsupc++/Makefile.am (sources): Add it. * src/vterminate.cc (verbose_terminate_handler): New file. * libsupc++/exception: Declare it. * src/Makefile.am (sources): Add it. * src/Makefile.am (VPATH): Check the src directory before the top one. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47132 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-06-09 Benjamin Kosnik <bkoz@redhat.com>bkoz2001-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for fgetwc, fgetws. * aclocal.m4: Regenerate. * configure: Regenerate. * include/c_std/bits/std_cwchar.h: Remove duplicate fgetwc injection, guard fgetwc, fgetws. * include/c_std/bits/std_cstdio.h: Remove superfluous includes. * include/c_std/bits/std_clocale.h: And here. * include/c_std/bits/std_cctype.h: And here. * include/c_std/bits/std_cstdlib.h (strtof): Guard strtof injection. * config/basic_file_stdio.h: Don't include unistd.h. * config/c_io_stdio.h: Don't use compatibility headers. * libsupc++/eh_terminate.cc: Qualify abort. (__terminate): And here. * libsupc++/eh_catch.cc (__cxa_end_catch): Qualify abort. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43070 138bc75d-0d04-0410-961f-82ee72b054a4
* IA-64 ABI Exception Handling.rth2001-03-281-0/+103
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40924 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud