With gcc version 4.3.0 20071218, with this file: $ cat test.f90 PROGRAM Outer IMPLICIT NONE REAL, DIMENSION(100) :: A INTEGER :: k
!$OMP PARALLEL DO PRIVATE(k) DO k=1,SIZE(A) END DO !$OMP END PARALLEL DO CONTAINS SUBROUTINE Inner IMPLICIT NONE A(k)=0.0D0 END SUBROUTINE Inner END PROGRAM Outer I get this error: $ gfortran -fopenmp test.f90 test.f90: In function outer: test.f90:6: internal compiler error: in extract_omp_for_data, at omp-low.c:163 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Apparently, this happens because the Inner subroutine uses k, which is the loop variable in the parallelized loop, but note that Inner is not even called. -- Summary: ICE in extract_omp_for_data Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jellby at yahoo dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35108