2022-11-04 09:35:42 -07:00

41 lines
780 B
Fortran

! @@name: barrier_regions.1
! @@type: F-fixed
! @@operation: link
! @@expect: success
! @@version: pre_omp_3.0
SUBROUTINE WORK(N)
INTEGER N
END SUBROUTINE WORK
SUBROUTINE SUB3(N)
INTEGER N
CALL WORK(N)
!$OMP BARRIER
CALL WORK(N)
END SUBROUTINE SUB3
SUBROUTINE SUB2(K)
INTEGER K
!$OMP PARALLEL SHARED(K)
CALL SUB3(K)
!$OMP END PARALLEL
END SUBROUTINE SUB2
SUBROUTINE SUB1(N)
INTEGER N
INTEGER I
!$OMP PARALLEL PRIVATE(I) SHARED(N)
!$OMP DO
DO I = 1, N
CALL SUB2(I)
END DO
!$OMP END PARALLEL
END SUBROUTINE SUB1
PROGRAM EXAMPLE
CALL SUB1(2)
CALL SUB2(2)
CALL SUB3(2)
END PROGRAM EXAMPLE