mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-15 16:24:09 +08:00
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>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
@ -137,15 +137,18 @@ build_polynomial_chrec (unsigned loop_num,
|
||||
|| !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. */
|
||||
/* 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_assert (ptrofftype_p (TREE_TYPE (right)));
|
||||
gcc_checking_assert (ptrofftype_p (TREE_TYPE (right)));
|
||||
else
|
||||
gcc_assert (TREE_TYPE (left) == TREE_TYPE (right));
|
||||
{
|
||||
/* Pointer types should occur only on the left hand side, i.e. in
|
||||
the base of the chrec, and not in the step. */
|
||||
gcc_checking_assert (!POINTER_TYPE_P (TREE_TYPE (right))
|
||||
&& types_compatible_p (TREE_TYPE (left),
|
||||
TREE_TYPE (right)));
|
||||
}
|
||||
|
||||
if (chrec_zerop (right))
|
||||
return left;
|
||||
|
Loading…
Reference in New Issue
Block a user