------- Comment #11 from fxcoudert at gcc dot gnu dot org 2007-07-27 14:47
-------
Here is the shortest Fortran testcase I could come with:
$ cat a.f90
subroutine foo
integer :: i
do
i = i + 1
select case (' ')
case default
call bar (i + 1, i - 1)
end select
enddo
end subroutine foo
$ gfortran -O2 -c a.f90
Unable to coalesce ssa_names 1 and 3 which are marked as MUST COALESCE.
i_1(ab) and i_3(ab)
a.f90: In function foo:
a.f90:1: internal compiler error: SSA corruption
I tried to make a C testcase from the original tree dump of this Fortran code,
but couldn't reproduce the ICE. It probably depends on the exact blocks
inserted.
Anyway, please note that starting with rev. 126978, the Fortran front-end emits
different code for this code (due to better translation of SELECT for character
variables, fixing PR32035), and thus the ICE is not triggered by the reporter's
code (nor is it triggered by my reduced testcase).
--
fxcoudert at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fxcoudert at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-07-27 14:47:48
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32720