-
- Downloads
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
Showing
- gcc/ChangeLog 15 additions, 0 deletionsgcc/ChangeLog
- gcc/cp/ChangeLog 7 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/cfns.gperf 54 additions, 54 deletionsgcc/cp/cfns.gperf
- gcc/cp/cfns.h 217 additions, 337 deletionsgcc/cp/cfns.h
- gcc/doc/invoke.texi 1 addition, 8 deletionsgcc/doc/invoke.texi
- gcc/except.c 21 additions, 128 deletionsgcc/except.c
- gcc/flags.h 0 additions, 4 deletionsgcc/flags.h
- gcc/libgcc-std.ver 2 additions, 0 deletionsgcc/libgcc-std.ver
- gcc/testsuite/ChangeLog 10 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/eh/forced1.C 15 additions, 10 deletionsgcc/testsuite/g++.dg/eh/forced1.C
- gcc/testsuite/g++.dg/eh/forced2.C 12 additions, 53 deletionsgcc/testsuite/g++.dg/eh/forced2.C
- gcc/testsuite/g++.dg/eh/forced3.C 55 additions, 0 deletionsgcc/testsuite/g++.dg/eh/forced3.C
- gcc/testsuite/g++.dg/eh/forced4.C 49 additions, 0 deletionsgcc/testsuite/g++.dg/eh/forced4.C
- gcc/toplev.c 0 additions, 6 deletionsgcc/toplev.c
- gcc/unwind-sjlj.c 1 addition, 0 deletionsgcc/unwind-sjlj.c
- gcc/unwind.h 5 additions, 0 deletionsgcc/unwind.h
- gcc/unwind.inc 29 additions, 2 deletionsgcc/unwind.inc
- libstdc++-v3/ChangeLog 13 additions, 0 deletionslibstdc++-v3/ChangeLog
- libstdc++-v3/libsupc++/eh_catch.cc 36 additions, 9 deletionslibstdc++-v3/libsupc++/eh_catch.cc
- libstdc++-v3/libsupc++/eh_personality.cc 63 additions, 35 deletionslibstdc++-v3/libsupc++/eh_personality.cc
Loading
Please register or sign in to comment