a.37.1.f90   [plain text]


! { dg-do compile }
      SUBROUTINE WORK(I)
      INTEGER I
        I=I+1
      END SUBROUTINE WORK
      SUBROUTINE INCORRECT()
        INTEGER OMP_GET_NUM_THREADS
        INTEGER I, NP
        NP = OMP_GET_NUM_THREADS()   !misplaced: will return 1
!$OMP PARALLEL DO SCHEDULE(STATIC)
          DO I = 0, NP-1
            CALL WORK(I)
          ENDDO
!$OMP END PARALLEL DO
      END SUBROUTINE INCORRECT