Commit 5be1632b by Steven Bosscher

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
parent 60197adb
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;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment