summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.36.1.f90
blob: be68188ec981c84c8eab179020cf87b6697137b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
! { dg-do compile }

      SUBROUTINE DO_BY_16(X, IAM, IPOINTS)
        REAL X(*)
        INTEGER IAM, IPOINTS
      END SUBROUTINE DO_BY_16
      SUBROUTINE SUBA36(X, NPOINTS)
        INTEGER NPOINTS
        REAL X(NPOINTS)
        INTEGER IAM, IPOINTS
        EXTERNAL OMP_SET_DYNAMIC, OMP_SET_NUM_THREADS
        INTEGER OMP_GET_NUM_THREADS, OMP_GET_THREAD_NUM
        CALL OMP_SET_DYNAMIC(.FALSE.)
        CALL OMP_SET_NUM_THREADS(16)
!$OMP PARALLEL SHARED(X,NPOINTS) PRIVATE(IAM, IPOINTS)
          IF (OMP_GET_NUM_THREADS() .NE. 16) THEN
            STOP
          ENDIF
          IAM = OMP_GET_THREAD_NUM()
          IPOINTS = NPOINTS/16
          CALL DO_BY_16(X,IAM,IPOINTS)
!$OMP END PARALLEL
      END SUBROUTINE SUBA36