From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8894 invoked by alias); 3 Oct 2007 10:44:01 -0000 Received: (qmail 8861 invoked by alias); 3 Oct 2007 10:43:53 -0000 Date: Wed, 03 Oct 2007 10:44:00 -0000 Message-ID: <20071003104353.8860.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/15764] no cleanup if temporary's dtor terminates with an exception In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jason at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-10/txt/msg00203.txt.bz2 ------- Comment #10 from jason at gcc dot gnu dot org 2007-10-03 10:43 ------- Subject: Bug 15764 Author: jason Date: Wed Oct 3 10:43:42 2007 New Revision: 128979 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128979 Log: PR c++/15764 * cp/decl.c (wrap_cleanups_r): New fn. (wrap_temporary_cleanups): New fn. (initialize_local_var): Call it. * tree-eh.c (same_handler_p): New fn. (optimize_double_finally): New fn. (refactor_eh_r): New fn. (refactor_eh): New fn. (pass_refactor_eh): New pass. * tree-pass.h: Declare it. * passes.c (init_optimization_passes): Add it. Added: trunk/gcc/testsuite/g++.dg/eh/init-temp1.C Modified: trunk/gcc/ChangeLog trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/passes.c trunk/gcc/tree-eh.c trunk/gcc/tree-pass.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15764