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

Reply via email to