summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lambda-code.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7d6fc6aa4aa..87a50cade54 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-11 Daniel Berlin <dberlin@dberlin.org>
+
+ * lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step
+ is an INTEGER_CST before calling int_cst_value.
+
2005-06-10 Uros Bizjak <uros@kss-loka.si>
PR target/21981
diff --git a/gcc/lambda-code.c b/gcc/lambda-code.c
index 6dbbe6d8b8b..c649d181b2d 100644
--- a/gcc/lambda-code.c
+++ b/gcc/lambda-code.c
@@ -2184,7 +2184,9 @@ replace_uses_equiv_to_x_with_y (struct loop *loop, tree stmt, tree x,
(loop, analyze_scalar_evolution (loop, use));
if (access_fn != NULL_TREE && access_fn != chrec_dont_know)
step = evolution_part_in_loop_num (access_fn, loop->num);
- if ((step && step != chrec_dont_know && int_cst_value (step) == xstep)
+ if ((step && step != chrec_dont_know
+ && TREE_CODE (step) == INTEGER_CST
+ && int_cst_value (step) == xstep)
|| USE_FROM_PTR (use_p) == x)
SET_USE (use_p, y);
}