diff options
author | Richard Henderson <rth@redhat.com> | 2003-05-07 15:11:38 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-05-07 15:11:38 -0700 |
commit | a944ceb94a99f5a271e2bd84a5a922858e5f699f (patch) | |
tree | c4966921e4085694a93888d4028afb2a1818fda4 /gcc/unwind-sjlj.c | |
parent | a21d83cd14f80ebd8b9ab6c4d87c42bf06bfec08 (diff) | |
download | gcc-a944ceb94a99f5a271e2bd84a5a922858e5f699f.zip gcc-a944ceb94a99f5a271e2bd84a5a922858e5f699f.tar.gz gcc-a944ceb94a99f5a271e2bd84a5a922858e5f699f.tar.bz2 |
except.c: Revert 04-01 and 04-02 forced-unwind changes.
gcc/
* 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.
From-SVN: r66583
Diffstat (limited to 'gcc/unwind-sjlj.c')
-rw-r--r-- | gcc/unwind-sjlj.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/unwind-sjlj.c b/gcc/unwind-sjlj.c index 6d6fd8b..8d9766f 100644 --- a/gcc/unwind-sjlj.c +++ b/gcc/unwind-sjlj.c @@ -285,6 +285,7 @@ uw_identify_context (struct _Unwind_Context *context) #define _Unwind_RaiseException _Unwind_SjLj_RaiseException #define _Unwind_ForcedUnwind _Unwind_SjLj_ForcedUnwind #define _Unwind_Resume _Unwind_SjLj_Resume +#define _Unwind_Resume_or_Rethrow _Unwind_SjLj_Resume_or_Rethrow #include "unwind.inc" |