• rth's avatar
    gcc/ · ce9beb5c
    rth authored
            * 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
    ce9beb5c
cfns.gperf 4.03 KB