re PR tree-optimization/23433 (ICE: tree check: expected real_cst, have integer_cst in const_binop, at fold-const.c:1512)

PR tree-optimization/23433
        * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
        REAL_CST when the type is SCALAR_FLOAT_TYPE_P.

From-SVN: r103317
This commit is contained in:
Sebastian Pop 2005-08-21 12:59:15 +02:00 committed by Sebastian Pop
parent 00c59348b9
commit 3c0c8f9dff
3 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
PR tree-optimization/23433
* tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
2005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
PR tree-optimization/23434

View File

@ -0,0 +1,12 @@
/* { dg-do compile } */
/* { dg-options "-O2" } */
double transport_sumexp(int numexp)
{
int k,j;
double xk1 = 1.0;
for(k=1; k<=numexp;k++)
for(j=1;j<=3;j++)
xk1 += 1.0;
return xk1;
}

View File

@ -539,6 +539,9 @@ chrec_apply (unsigned var,
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "(chrec_apply \n");
if (TREE_CODE (x) == INTEGER_CST && SCALAR_FLOAT_TYPE_P (type))
x = build_real_from_int_cst (type, x);
if (evolution_function_is_affine_p (chrec))
{
/* "{a, +, b} (x)" -> "a + b*x". */