------- Comment #12 from spop at gcc dot gnu dot org 2007-06-17 19:16 ------- Subject: Re: [4.3 Regression] internal compiler error: in build_polynomial_chrec, at tree-chrec.h:113
> Ok, thanks. Just to let people know, {{&BinomialCoefficients[0], +, 4}_1, +, > {0, +, 4}_1}_1 was also showing up on the trunk before the pointer_plus was > merged in. > In the fix for this bug, I'm going to include the following assert such that this inconsistency will not occur anymore. Index: tree-chrec.h =================================================================== --- tree-chrec.h (revision 125771) +++ tree-chrec.h (working copy) @@ -83,6 +83,7 @@ extern bool tree_contains_chrecs (tree, extern bool evolution_function_is_affine_multivariate_p (tree, int); extern bool evolution_function_is_univariate_p (tree); extern unsigned nb_vars_in_chrec (tree); +extern bool evolution_function_is_invariant_p (tree, int); /* Determines whether CHREC is equal to zero. */ @@ -114,6 +115,8 @@ build_polynomial_chrec (unsigned loop_nu else gcc_assert (TREE_TYPE (left) == TREE_TYPE (right)); + gcc_assert (evolution_function_is_invariant_p (left, loop_num)); + if (chrec_zerop (right)) return left; @@ -140,7 +143,6 @@ evolution_function_is_constant_p (tree c } } -extern bool evolution_function_is_invariant_p (tree, int); /* Determine whether the given tree is an affine evolution function or not. */ static inline bool -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32367