aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2007-10-03 06:43:42 -0400
committerJason Merrill <jason@gcc.gnu.org>2007-10-03 06:43:42 -0400
commita24549d472e2235a6042b96e08a1278d4856fabd (patch)
tree450766beb0e73108d3ac65ded3af710cf9a23474 /gcc/passes.c
parent7a3c4b3ef39ecd9b3d7aab86f188871d9ea5f11a (diff)
downloadgcc-a24549d472e2235a6042b96e08a1278d4856fabd.zip
gcc-a24549d472e2235a6042b96e08a1278d4856fabd.tar.gz
gcc-a24549d472e2235a6042b96e08a1278d4856fabd.tar.bz2
re PR c++/15764 (no cleanup if temporary's dtor terminates with an exception)
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. From-SVN: r128979
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index 74f48a8..25644bc 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -480,6 +480,7 @@ init_optimization_passes (void)
NEXT_PASS (pass_mudflap_1);
NEXT_PASS (pass_lower_omp);
NEXT_PASS (pass_lower_cf);
+ NEXT_PASS (pass_refactor_eh);
NEXT_PASS (pass_lower_eh);
NEXT_PASS (pass_build_cfg);
NEXT_PASS (pass_lower_complex_O0);