diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-02 12:57:10 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-02 12:57:10 +0000 |
commit | b59e1c9023def96fa20cda22d3366650d22b3763 (patch) | |
tree | b7785a15881f825f1471e07b5eba334ae18d62ad /gcc/gimple.h | |
parent | 38b1f0b0ab2c3b3a80f877427cc0ccb6992d7c28 (diff) | |
download | gcc-b59e1c9023def96fa20cda22d3366650d22b3763.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187048 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gimple.h')
-rw-r--r-- | gcc/gimple.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/gimple.h b/gcc/gimple.h index c3e07983d73..e0f8660fba3 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); |