gfortran -v -save-temps -c Diags.f95 Using built-in specs. Target: powerpc-apple-darwin8.7.0 Configured with: ../gcc-4.0.3/configure --prefix=/usr/local --enable-languages=c,c++,f95,java --with-gmp=/usr/local/lib --with-mpfr=/usr/local/lib Thread model: posix gcc version 4.0.3 /usr/local/libexec/gcc/powerpc-apple-darwin8.7.0/4.0.3/f951 Diags.f95 -fPIC -quiet -dumpbase Diags.f95 -auxbase Diags -version -o Diags.s GNU F95 version 4.0.3 (powerpc-apple-darwin8.7.0) compiled by GNU C version 4.0.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Diags.f95: In function 'tqli': Diags.f95:10: internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:783 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Diags.f95: module Diags integer, parameter:: MAX_ITER = 10000 contains !------------------------------------------------------------ integer function tqli(d, e, z, n implicit none real(8), dimension(:), intent(INOUT):: d, e real(8), dimension(:,:), intent(INOUT):: z integer, intent(IN):: n integer:: i, k, l, m integer:: iter, iflag, iflag2 real(8):: dd, r, g, s, c, p, f, b do i = 2, n e(i - 1) = e(i) end do e(n) = 0.0d00 do l = 1, n iter = 0 do iflag = 0 iflag = 0 do m = l, n - 1 dd = dabs(d(m)) + dabs(d(m+1)) if (dabs(e(m)) + dd .eq. dd) then iflag = 1 exit endif end do if (iflag .ne. 0) then m = n - 1 endif if (m .ne. l) then if (iter .ge. MAX_ITER) then print *, 'iter = ', iter, ' > MAX_ITER = ', & MAX_ITER, ' in tqli' tqli = 0 return endif iter = iter + 1 g = (d(l + 1) - d(l)) / (e(l) + e(l)) r = dsqrt(g * g + 1) if (g .gt. 0)then g = d(m) - d(l) + e(l) / (g + r) else g = d(m) - d(l) + e(l) / (g - r) endif s = 1.0 c = 1.0 p = 0.0 do i = m - 1, l, -1 f = s * e(i) b = c * e(i) if (dabs(f) .ge. dabs(g)) then c = g / f r = dsqrt(c * c + 1.0) e(i + 1) = f * r s = 1.0 / r c = c * s else s = f / g r = dsqrt(s * s + 1.0) e(i + 1) = g * r c = 1.0 / r s = s * c endif g = d(i + 1) - p r = (d(i) - g) * s + 2.0 * c * b p = s * r d(i + 1) = g + p g = c * r - b do k = 1, n f = z(k, i + 1) z(k, i + 1) = s * z(k, i) + c * f z(k, i) = c * z(k, i) - s * f end do end do ! i = m - 1, l, -1 d(l) = d(l) - p e(l) = g e(m) = 0.0 iflag2 = 1 end if ! m .ne. l if (iflag2 .ne. 1) exit end do end do ! l = 1, n tqli = 1 return end function tqli !------------------------------------------------------------ end module Diags -- Summary: Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:783 Product: gcc Version: 4.0.3 Status: UNCONFIRMED Severity: critical Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: danp57 at optonline dot net GCC build triplet: see below GCC host triplet: powerpc-apple-darwin8.7.0 GCC target triplet: powerpc-apple-darwin8.7.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28993