Hello,

This patch fixes PR53245.
Bootstrapped&tested on powerpc64-unknown-linux-gnu. OK for trunk?

Ciao!
Steven


        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.

Index: gimplify.c
===================================================================
--- gimplify.c  (revision 187219)
+++ gimplify.c  (working copy)
@@ -1658,6 +1658,10 @@ preprocess_case_label_vec_for_gimple (VEC(tree,hea
                      && 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;
                }
            }

Reply via email to