mirror of
https://github.com/autc04/Retro68.git
synced 2024-08-18 12:29:08 +00:00
32 lines
663 B
Fortran
32 lines
663 B
Fortran
|
! { dg-do compile }
|
||
|
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 A15
|
||
|
CALL SUB1(2)
|
||
|
CALL SUB2(2)
|
||
|
CALL SUB3(2)
|
||
|
END PROGRAM A15
|