summaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.fortran/appendix-a/a.15.1.f90
blob: 3d95451eaff406d16ece162b6b0699e3375a3306 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
! { 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