aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorSteven Bosscher <stevenb@suse.de>2005-05-12 19:29:21 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2005-05-12 19:29:21 +0000
commit98f464e05898aa368da60d94c24b7818552eb0f7 (patch)
treee8fbec3fe9a12f57e69dd33bd03e77391cc8bc6b /gcc/tree-cfg.c
parent1ed17cd539718575f2587c75bd69fa3259b25910 (diff)
downloadgcc-98f464e05898aa368da60d94c24b7818552eb0f7.zip
gcc-98f464e05898aa368da60d94c24b7818552eb0f7.tar.gz
gcc-98f464e05898aa368da60d94c24b7818552eb0f7.tar.bz2
except.c (duplicate_eh_region_1, [...]): New functions, based on old implementation removed with RTL inliner.
* except.c (duplicate_eh_region_1, duplicate_eh_region_2, duplicate_eh_regions): New functions, based on old implementation removed with RTL inliner. (reachable_next_level): Modify behaviour pre-inline. * except.h (duplicate_eh_regions_map, duplicate_eh_regions): Declare. * function.h (struct function): Add after_inlining flag. * tree-optimize.c (tree_rest_of_compilation): Set it. * tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable when needed. * tree-cfg.c (label_to_block_fn): Deal with cases where label was never insterted into code. Co-Authored-By: Jan Hubicka <jh@suse.cz> Co-Authored-By: Stuart Hastings <stuart@apple.com> From-SVN: r99625
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 c54305c..9860a29 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -823,6 +823,8 @@ label_to_block_fn (struct function *ifun, tree dest)
bsi_insert_before (&bsi, stmt, BSI_NEW_STMT);
uid = LABEL_DECL_UID (dest);
}
+ if (VARRAY_SIZE (ifun->cfg->x_label_to_block_map) <= (unsigned int)uid)
+ return NULL;
return VARRAY_BB (ifun->cfg->x_label_to_block_map, uid);
}