------- Comment #1 from fxcoudert at gcc dot gnu dot org 2006-06-04 11:24
-------
I can reproduce this on i686-linux and reduced it to this minimal testcase:
COMPLEX z
CONTAINS
SUBROUTINE foo
z = z + cmplx(1.0,0.0)
z = z + z
END SUBROUTINE foo
END
It fails for me at all optimization levels, including -O0. I've tried it with
current mainline as well as mainline from 2006-05-01, it exhibits the same
errors.
I can't make a C testcase easily, but I think it's a middle-end issue because
the same testcase compiled on 4.1.2 works, although it gives the same tree
(with -fdump-original-tree):
foo ()
{
z = z + __complex__ (1.0e+0, 0.0);
z = z + z;
MAIN__ ()
{
complex4 z;
static void foo (void);
_gfortran_set_std (70, 127, 0);
}
--
fxcoudert at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fxcoudert at gcc dot gnu dot
| |org, stevenb dot gcc at
| |gmail dot com
Status|UNCONFIRMED |NEW
Component|fortran |middle-end
Ever Confirmed|0 |1
GCC host triplet|powerpc-unknown-linux-gnu |
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2006-06-04 11:24:33
date| |
Summary|gfortran 4.1.1 ICE on |ICE on complex assignment
|espresso (PWscf) |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27889