From 4c936d4f4cf6a3ba7fc404a990f1975182e9fdda Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 30 Mar 2009 18:49:52 +0200 Subject: [PATCH] * except.c (label_to_region_map): Fix thinko. From-SVN: r145304 --- gcc/ChangeLog | 4 ++++ gcc/except.c | 7 ++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d1de48d589d8..ae107c4b146d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2009-03-30 Jan Hubicka + + * except.c (label_to_region_map): Fix thinko. + 2009-03-30 Steve Ellcey PR middle-end/38237 diff --git a/gcc/except.c b/gcc/except.c index 41f799af07ef..c654aba1f4e8 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -798,12 +798,9 @@ label_to_region_map (void) for (i = cfun->eh->last_region_number; i > 0; --i) { struct eh_region *r = VEC_index (eh_region, cfun->eh->region_array, i); - if (r && r->tree_label && LABEL_DECL_UID (r->tree_label) >= 0) + if (r && r->region_number == i + && r->tree_label && LABEL_DECL_UID (r->tree_label) >= 0) { - if ((unsigned) LABEL_DECL_UID (r->tree_label) > - VEC_length (int, label_to_region)) - VEC_safe_grow_cleared (int, heap, label_to_region, - LABEL_DECL_UID (r->tree_label)); VEC_replace (int, label_to_region, LABEL_DECL_UID (r->tree_label), i); }