aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/stmt.c10
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index df79dec..8c5c931 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
+
2001-10-24 Christopher Faylor <cgf@redhat.com>
* config/i386/cygwin.h: Use proper path for mingw crt files when
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 76fa439..d5c736f 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -5317,7 +5317,7 @@ void
expand_end_case (orig_index)
tree orig_index;
{
- tree minval = NULL_TREE, maxval = NULL_TREE, range = NULL_TREE, orig_minval;
+ tree minval = NULL_TREE, maxval = NULL_TREE, range = NULL_TREE;
rtx default_label = 0;
struct case_node *n;
unsigned int count;
@@ -5417,8 +5417,6 @@ expand_end_case (orig_index)
count++;
}
- orig_minval = minval;
-
/* Compute span of values. */
if (count != 0)
range = fold (build (MINUS_EXPR, index_type, maxval, minval));
@@ -5559,14 +5557,14 @@ expand_end_case (orig_index)
for (n = thiscase->data.case_stmt.case_list; n; n = n->right)
{
HOST_WIDE_INT i
- = TREE_INT_CST_LOW (n->low) - TREE_INT_CST_LOW (orig_minval);
+ = tree_low_cst (n->low, 0) - tree_low_cst (minval, 0);
while (1)
{
labelvec[i]
= gen_rtx_LABEL_REF (Pmode, label_rtx (n->code_label));
- if (i + TREE_INT_CST_LOW (orig_minval)
- == TREE_INT_CST_LOW (n->high))
+ if (i + tree_low_cst (minval, 0)
+ == tree_low_cst (n->high, 0))
break;
i++;
}