OSDN Git Service

* except.c (label_to_region_map): Fix thinko.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Mar 2009 16:49:52 +0000 (16:49 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Mar 2009 16:49:52 +0000 (16:49 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145304 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/except.c

index d1de48d..ae107c4 100644 (file)
@@ -1,3 +1,7 @@
+2009-03-30  Jan Hubicka  <jh@suse.cz>
+
+       * except.c (label_to_region_map): Fix thinko.
+
 2009-03-30  Steve Ellcey  <sje@cup.hp.com>
 
        PR middle-end/38237
index 41f799a..c654aba 100644 (file)
@@ -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);
        }