The following simple fortran code: ------------------------- subroutine test(n, v) implicit none integer :: n, i real(8) :: v(n)
do i = 1, n v(i) = 0 end do return end ------------------------- fails to compile with the following messages: (using latest gfortran binaries, from 20041128 CVS) ~ $ gfortran -O1 -msse2 -ftree-vectorize -c foo.f90 foo.f90: In function ‘test’: foo.f90:1: error: ‘then’ label does not match edge at end of bb 1 foo.f90:1: error: ‘else’ label does not match edge at end of bb 1 foo.f90:1: error: ‘then’ label does not match edge at end of bb 7 foo.f90:1: error: ‘else’ label does not match edge at end of bb 7 foo.f90:1: internal compiler error: verify_flow_info failed However, it does compile fine if I remove one of -O1, -msse2 or -ftree-vectorize. -- Summary: [ICE] verify_flow_info failed (loop) Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: coudert at clipper dot ens dot fr CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i686-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18716