re PR middle-end/53245 (ice in expand_case)
PR middle-end/53245 * gimplify.c (preprocess_case_label_vec_for_gimple): If low or high is folded to a type boundary value, verify that the resulting case label is still a care range. From-SVN: r187248
This commit is contained in:
parent
60197adbfd
commit
5be1632b7d
|
@ -1,3 +1,10 @@
|
|||
2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
PR middle-end/53245
|
||||
* gimplify.c (preprocess_case_label_vec_for_gimple): If low or high
|
||||
is folded to a type boundary value, verify that the resulting case
|
||||
label is still a care range.
|
||||
|
||||
2012-05-07 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.md (ctz<mode>2): Emit rep;bsf
|
||||
|
|
|
@ -1658,6 +1658,10 @@ preprocess_case_label_vec_for_gimple (VEC(tree,heap) *labels,
|
|||
&& tree_int_cst_compare (high, max_value) > 0)
|
||||
high = max_value;
|
||||
high = fold_convert (index_type, high);
|
||||
|
||||
/* We may have folded a case range to a one-value case. */
|
||||
if (tree_int_cst_equal (low, high))
|
||||
high = NULL_TREE;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue