aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-03-10 20:39:30 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-03-10 20:39:30 +0100
commit8b46837cd1feb7d5f9d7c01b28ddb2b4d3ee455e (patch)
treee7427aeb89403e376f2ec5442aca8c328cc8f960 /gcc/tree-cfg.c
parente1e7141cf3128d384dca902928d98a47cb57dddd (diff)
downloadgcc-8b46837cd1feb7d5f9d7c01b28ddb2b4d3ee455e.zip
gcc-8b46837cd1feb7d5f9d7c01b28ddb2b4d3ee455e.tar.gz
gcc-8b46837cd1feb7d5f9d7c01b28ddb2b4d3ee455e.tar.bz2
re PR middle-end/35099 (ICE in remove_unreachable_regions with -O -fopenmp)
PR middle-end/35099 * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid. * g++.dg/gomp/pr35099.C: New test. From-SVN: r133084
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index f98c684..5e551aa 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -5895,6 +5895,8 @@ new_label_mapper (tree decl, void *data)
m->base.from = decl;
m->to = create_artificial_label ();
LABEL_DECL_UID (m->to) = LABEL_DECL_UID (decl);
+ if (LABEL_DECL_UID (m->to) >= cfun->last_label_uid)
+ cfun->last_label_uid = LABEL_DECL_UID (m->to) + 1;
slot = htab_find_slot_with_hash (hash, m, m->hash, INSERT);
gcc_assert (*slot == NULL);