The (shortened) fortran-77 subroutine attached below causes a segmentation fault of g77 when I execute
$ g77 -O3 -c -funroll-loops foo.f No problems occur without optimization. $ g77 --version GNU Fortran (GCC) 3.3.5 20050117 (prerelease) (SUSE Linux) Copyright (C) 2002 Free Software Foundation, Inc. (I have SUSE Linux 10.2) Let me know if you need to know anything else. Roland SUBROUTINE FOO C IMPLICIT NONE INTEGER ngroup, nirred PARAMETER (ngroup = 1, nirred = 24) INTEGER mgroup, melmnt, mirred INTEGER nfull, okanal PARAMETER (nfull = 3) INTEGER lirred,i, j, k, js, Jsmax (2), lwert, jwert, $ Isubcp (nirred, 2, 0:nfull, 0:1) DOUBLE PRECISION eps, fak1 DOUBLE COMPLEX Subcmp (nirred, 2) CHARACTER Csign (2) *1, C_sa (2) *1 DATA Csign / '+', '-' /, C_sa / 's', 'a' / C ****************************************************************** DO mgroup = 1, ngroup DO js = 0, 1 DO lwert = 0, nfull jwert = 2 * lwert + js DO k = 1, 2 j = 0 DO lirred = 1, mirred IF ( ABS (DIMAG (Subcmp (lirred,k))) .GT. eps $ .OR. ABS (DBLE (i) - fak1) .GT. eps) $ WRITE (0, *) 'UG2:', jwert, k, lirred, $ Subcmp (lirred,k) END DO END DO END DO END DO 999 CONTINUE END DO C ================================================================== WRITE (okanal, 1220) (((Csign (j), C_sa (k), jwert, k = 1, 2), $ j = 1, 2), jwert = 0, nfull/2) 1220 FORMAT (/ 11X, 100 (4 (2A, I1, 1X), 1X)) C STOP END