From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12887 invoked by alias); 2 May 2003 21:06:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 12871 invoked by uid 71); 2 May 2003 21:06:00 -0000 Date: Fri, 02 May 2003 21:06:00 -0000 Message-ID: <20030502210600.12870.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: rth@gcc.gnu.org Subject: c++/10570 Reply-To: rth@gcc.gnu.org X-SW-Source: 2003-05/txt/msg00155.txt.bz2 List-Id: The following reply was made to PR c++/10570; it has been noted by GNATS. From: rth@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: c++/10570 Date: 2 May 2003 21:01:26 -0000 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: rth@gcc.gnu.org 2003-05-02 21:01:25 Modified files: gcc : ChangeLog except.c flags.h libgcc-std.ver toplev.c unwind-dw2.c unwind-sjlj.c unwind.h unwind.inc gcc/cp : ChangeLog cfns.gperf cfns.h gcc/doc : invoke.texi gcc/testsuite : ChangeLog gcc/testsuite/g++.dg/eh: forced1.C forced2.C libstdc++-v3 : ChangeLog libstdc++-v3/libsupc++: eh_catch.cc eh_personality.cc eh_throw.cc Added files: gcc/testsuite/g++.dg/eh: forced3.C forced4.C Log message: PR c++/10570 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. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.501&r2=1.16114.2.502 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/except.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.233.2.4&r2=1.233.2.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flags.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.93.4.1&r2=1.93.4.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/libgcc-std.ver.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16.2.2&r2=1.16.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.690.2.17&r2=1.690.2.18 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/unwind-dw2.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.22.2.2&r2=1.22.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/unwind-sjlj.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.11.2.1&r2=1.11.2.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/unwind.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.7.2.3&r2=1.7.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/unwind.inc.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.7.20.1&r2=1.7.20.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.3076.2.127&r2=1.3076.2.128 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cfns.gperf.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2&r2=1.2.60.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cfns.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2&r2=1.2.60.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/invoke.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.209.2.26&r2=1.209.2.27 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2261.2.163&r2=1.2261.2.164 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/forced3.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/forced4.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/forced1.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.1.2.1&r2=1.1.2.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/forced2.C.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.1.2.1&r2=1.1.2.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.1464.2.101&r2=1.1464.2.102 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/libsupc++/eh_catch.cc.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.3&r2=1.3.38.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/libsupc++/eh_personality.cc.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.10&r2=1.10.14.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/libsupc++/eh_throw.cc.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.3&r2=1.3.14.1