aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.h
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-05-02 12:57:10 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-05-02 12:57:10 +0000
commit68e7284038237a5ed0f4a7bdf2cf16b6f8e55c7e (patch)
treeb7785a15881f825f1471e07b5eba334ae18d62ad /gcc/gimple.h
parent69416e98ff5d226210fefc00e91451269036f928 (diff)
downloadgcc-68e7284038237a5ed0f4a7bdf2cf16b6f8e55c7e.zip
gcc-68e7284038237a5ed0f4a7bdf2cf16b6f8e55c7e.tar.gz
gcc-68e7284038237a5ed0f4a7bdf2cf16b6f8e55c7e.tar.bz2
re PR middle-end/53153 (ice in tree_low_cst, at tree.c:6569)
gcc/ PR middle-end/53153 * gimplify.c (preprocess_case_label_vec_for_gimple): New function, split out from ... (gimplify_switch_expr): ... here. * gimple.h (preprocess_case_label_vec_for_gimple): Add prototype. * tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): New function to clean up case labels with values outside the index type range. (simplify_gimple_switch): Call it if something changed. Remove strange and unnecessary assert. testsuite/ PR middle-end/53153 * gcc.dg/pr53153.c: New test. From-SVN: r187048
Diffstat (limited to 'gcc/gimple.h')
-rw-r--r--gcc/gimple.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/gimple.h b/gcc/gimple.h
index c3e0798..e0f8660 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -922,6 +922,7 @@ gimple gimple_build_transaction (gimple_seq, tree);
gimple gimple_build_predict (enum br_predictor, enum prediction);
enum gimple_statement_structure_enum gss_for_assign (enum tree_code);
void sort_case_labels (VEC(tree,heap) *);
+void preprocess_case_label_vec_for_gimple (VEC(tree,heap) *, tree, tree *);
void gimple_set_body (tree, gimple_seq);
gimple_seq gimple_body (tree);
bool gimple_has_body_p (tree);