re PR fortran/39292 (ICE in gfc_conv_array_initializer, at fortran/trans-array.c:3884)
2009-02-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/39292 * trans-array.c (gfc_conv_array_initializer): Convert all expressions rather than ICEing. 2009-02-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/39292 * gfortran.dg/initialization_22.f90: New test. From-SVN: r144444
This commit is contained in:
parent
1a46aef0bd
commit
c1cfed038a
|
@ -1,3 +1,9 @@
|
||||||
|
2009-02-26 Paul Thomas <pault@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/39292
|
||||||
|
* trans-array.c (gfc_conv_array_initializer): Convert all
|
||||||
|
expressions rather than ICEing.
|
||||||
|
|
||||||
2008-02-21 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2008-02-21 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/38914
|
PR fortran/38914
|
||||||
|
|
|
@ -4005,8 +4005,21 @@ gfc_conv_array_initializer (tree type, gfc_expr * expr)
|
||||||
CONSTRUCTOR_APPEND_ELT (v, index, se.expr);
|
CONSTRUCTOR_APPEND_ELT (v, index, se.expr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
gcc_unreachable ();
|
/* Catch those occasional beasts that do not simplify
|
||||||
|
for one reason or another, assuming that if they are
|
||||||
|
standard defying the frontend will catch them. */
|
||||||
|
gfc_conv_expr (&se, c->expr);
|
||||||
|
if (range == NULL_TREE)
|
||||||
|
CONSTRUCTOR_APPEND_ELT (v, index, se.expr);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (index != NULL_TREE)
|
||||||
|
CONSTRUCTOR_APPEND_ELT (v, index, se.expr);
|
||||||
|
CONSTRUCTOR_APPEND_ELT (v, range, se.expr);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2009-02-26 Paul Thomas <pault@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/39292
|
||||||
|
* gfortran.dg/initialization_22.f90: New test.
|
||||||
|
|
||||||
2008-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
2008-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR rtl-optimization/39241
|
PR rtl-optimization/39241
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
! { dg-do run }
|
||||||
|
! tests the fix for PR39292, where the intitialization expression
|
||||||
|
! did not simplify and caused an ICE in gfc_conv_array_initializer.
|
||||||
|
!
|
||||||
|
! Contributed by Richard Guenther <rguenth@gcc.gnu.org>
|
||||||
|
!
|
||||||
|
integer :: n
|
||||||
|
real, dimension(2) :: a = (/ ( (float(n))**(1.0), n=1,2) /)
|
||||||
|
if (any (a .ne. (/ ( (float(n))**(1.0), n=1,2) /))) call abort
|
||||||
|
end
|
Loading…
Reference in New Issue