OSDN Git Service

2007-11-13 Sebastian Pop <sebastian.pop@amd.com>
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Nov 2007 00:41:05 +0000 (00:41 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Nov 2007 00:41:05 +0000 (00:41 +0000)
* tree-chrec.h (build_polynomial_chrec): RHS of a chrec
should not be of pointer type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130167 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-chrec.h

index e6682d2..d7b8bea 100644 (file)
@@ -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
 2007-11-13  Michael Meissner  <michael.meissner@amd.com>
 
        * config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate
index e84ecd7..c908ec5 100644 (file)
@@ -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;
 
   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
   if (POINTER_TYPE_P (TREE_TYPE (left)))
     gcc_assert (sizetype == TREE_TYPE (right));
   else