re PR tree-optimization/58473 (FAIL: ext/random/normal_mv_distribution/cons/default.cc (test for excess errors))
2013-09-20 Richard Biener <rguenther@suse.de> PR middle-end/58473 * tree-chrec.h (build_polynomial_chrec): Use gcc_checking_assert, make type comparison less strict. From-SVN: r202774
This commit is contained in:
parent
3cbe17f7de
commit
a820c83467
|
@ -1,3 +1,9 @@
|
||||||
|
2013-09-20 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/58473
|
||||||
|
* tree-chrec.h (build_polynomial_chrec): Use gcc_checking_assert,
|
||||||
|
make type comparison less strict.
|
||||||
|
|
||||||
2013-09-20 Alan Modra <amodra@gmail.com>
|
2013-09-20 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* configure: Regenerate.
|
* configure: Regenerate.
|
||||||
|
|
|
@ -137,15 +137,18 @@ build_polynomial_chrec (unsigned loop_num,
|
||||||
|| !val)
|
|| !val)
|
||||||
return chrec_dont_know;
|
return chrec_dont_know;
|
||||||
|
|
||||||
|
/* Types of left and right sides of a chrec should be compatible, but
|
||||||
|
pointer CHRECs are special in that the evolution is of ptroff type. */
|
||||||
|
if (POINTER_TYPE_P (TREE_TYPE (left)))
|
||||||
|
gcc_checking_assert (ptrofftype_p (TREE_TYPE (right)));
|
||||||
|
else
|
||||||
|
{
|
||||||
/* Pointer types should occur only on the left hand side, i.e. in
|
/* Pointer types should occur only on the left hand side, i.e. in
|
||||||
the base of the chrec, and not in the step. */
|
the base of the chrec, and not in the step. */
|
||||||
gcc_assert (!POINTER_TYPE_P (TREE_TYPE (right)));
|
gcc_checking_assert (!POINTER_TYPE_P (TREE_TYPE (right))
|
||||||
|
&& types_compatible_p (TREE_TYPE (left),
|
||||||
/* Types of left and right sides of a chrec should be compatible. */
|
TREE_TYPE (right)));
|
||||||
if (POINTER_TYPE_P (TREE_TYPE (left)))
|
}
|
||||||
gcc_assert (ptrofftype_p (TREE_TYPE (right)));
|
|
||||||
else
|
|
||||||
gcc_assert (TREE_TYPE (left) == TREE_TYPE (right));
|
|
||||||
|
|
||||||
if (chrec_zerop (right))
|
if (chrec_zerop (right))
|
||||||
return left;
|
return left;
|
||||||
|
|
Loading…
Reference in New Issue