------- 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

Reply via email to