summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-chrec.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e6682d279d7..d7b8bea0ed9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-chrec.h (build_polynomial_chrec): RHS of a chrec
+ should not be of pointer type.
+
2007-11-13 Michael Meissner <michael.meissner@amd.com>
* config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate
diff --git a/gcc/tree-chrec.h b/gcc/tree-chrec.h
index e84ecd76b0c..c908ec5c66b 100644
--- a/gcc/tree-chrec.h
+++ b/gcc/tree-chrec.h
@@ -132,6 +132,11 @@ build_polynomial_chrec (unsigned loop_num,
if (no_evolution_in_loop_p (left, loop_num, &val) && !val)
return chrec_dont_know;
+ /* Pointer types should occur only on the left hand side, i.e. in
+ the base of the chrec, and not in the step. */
+ gcc_assert (!POINTER_TYPE_P (TREE_TYPE (right)));
+
+ /* Types of left and right sides of a chrec should be compatible. */
if (POINTER_TYPE_P (TREE_TYPE (left)))
gcc_assert (sizetype == TREE_TYPE (right));
else