a.21.2.f90   [plain text]


! { dg-do compile }

      SUBROUTINE WORK(I)
      INTEGER I
      END SUBROUTINE WORK
      SUBROUTINE A21_WRONG(N)
      INTEGER N
        INTEGER I
!$OMP DO ORDERED
        DO I = 1, N
! incorrect because an iteration may not execute more than one
! ordered region
!$OMP ORDERED
            CALL WORK(I)
!$OMP END ORDERED
!$OMP ORDERED
            CALL WORK(I+1)
!$OMP END ORDERED
        END DO
      END SUBROUTINE A21_WRONG