aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-optimize.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-11-28 22:02:27 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-11-28 22:02:27 +0100
commit99d8763e19ee7949d3afee72f07612ebb3bf37f8 (patch)
treebb8a862dbfe8dc6771f668944332fe22797539f2 /gcc/tree-optimize.c
parent62bad7cd053b0f139bb46ae54976ed97d6dc0811 (diff)
downloadgcc-99d8763e19ee7949d3afee72f07612ebb3bf37f8.zip
gcc-99d8763e19ee7949d3afee72f07612ebb3bf37f8.tar.gz
gcc-99d8763e19ee7949d3afee72f07612ebb3bf37f8.tar.bz2
re PR tree-optimization/50682 (ICE: SIGSEGV in main_block_label with -O2 -fnon-call-exceptions -ftracer)
PR tree-optimization/50682 * tree-eh.c (maybe_remove_unreachable_handlers): New function. * tree-flow.h (maybe_remove_unreachable_handlers): New prototype. * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it. * g++.dg/opt/pr50682.C: New test. From-SVN: r181785
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r--gcc/tree-optimize.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index 5479d90..2f6b394 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -159,6 +159,7 @@ static unsigned int
execute_cleanup_cfg_post_optimizing (void)
{
cleanup_tree_cfg ();
+ maybe_remove_unreachable_handlers ();
cleanup_dead_labels ();
group_case_labels ();
if ((flag_compare_debug_opt || flag_compare_debug)