[Bug c++/15764] no cleanup if temporary's dtor terminates with an exception
jason at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Oct 3 10:44:00 GMT 2007
------- 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
More information about the Gcc-bugs
mailing list