This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Fix PR26859


On 3/29/06, Roger Sayle <roger@eyesopen.com> wrote:
> Thanks.  One aspect that I'm tackling is what the constraints
> on types in polynomial CHRECs should be.  A reasonable requirement
> might be that the types of the left and right operands are the
> same as the type of the POLYNOMIAL_CHREC.  Indeed, much of the
> code seems to assume this as an invariant.
>

right, when converting the step, we're using this invariant.
Here is a comment from the chrec_convert function:

   The following rule is always true: TREE_TYPE (chrec) ==
   TREE_TYPE (CHREC_LEFT (chrec)) == TREE_TYPE (CHREC_RIGHT (chrec)).

> However, a simple sanity check such as the following breaks
> bootstrap...
>

Okay, I know where this can come from: basically we don't convert
the step when building the chrecs in the analyzer, but once these
are built, the conversion of sequences from a type to another are safer.
I'll try to include your assert patch and bootstrap with it.

Sebastian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]