[Bug fortran/52059] [4.7 Regression] ICE in gfc_conv_variable
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 30 23:29:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52059
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-01-30
CC| |burnus at gcc dot gnu.org
Ever Confirmed|0 |1
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-30 23:03:28 UTC ---
In gfc_conv_variable, it fails at the assert:
1183 gcc_assert (ss_info->expr == expr);
Here, "expr" is the variable "b" while "ss_info->expr" is a BT_REAL constant.
If one replaces "b" by "1.0_8", one has the same issue (except that than both
values are constants.)
And without "y" argument, it fails for:
6919 && rse.ss == gfc_ss_terminator);
One has rse.ss->info->type = GFC_SS_SCALAR and rse.ss->info->expr->expr_type ==
EXPR_CONSTANT.
It works if one undoes the change to trans-expr.c, i.e.
http://gcc.gnu.org/viewcvs/trunk/gcc/fortran/trans-expr.c?r1=180906&r2=180905&pathrev=180906
* * *
Side note:
real(kind=8) :: a(99)
real(kind=8), dimension((y-x)) :: bar
a = foo (bar(0,35), ...
The a(99) should be a(35) as "foo(bar()..." returns a array of dimension(35-0).
More information about the Gcc-bugs
mailing list