xref: /openbsd-src/gnu/gcc/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.8.f90 (revision 404b540a9034ac75a6199ad1a32d1bbc7a0d4210)
1*404b540aSrobert! { dg-do run }
2*404b540aSrobert! { dg-require-effective-target tls_runtime }
3*404b540aSrobert       MODULE A22_MODULE8
4*404b540aSrobert         REAL, POINTER :: WORK(:)
5*404b540aSrobert         SAVE WORK
6*404b540aSrobert!$OMP THREADPRIVATE(WORK)
7*404b540aSrobert       END MODULE A22_MODULE8
8*404b540aSrobert       SUBROUTINE SUB1(N)
9*404b540aSrobert       USE A22_MODULE8
10*404b540aSrobert!$OMP PARALLEL PRIVATE(THE_SUM)
11*404b540aSrobert         ALLOCATE(WORK(N))
12*404b540aSrobert         CALL SUB2(THE_SUM)
13*404b540aSrobert        WRITE(*,*)THE_SUM
14*404b540aSrobert!$OMP END PARALLEL
15*404b540aSrobert       END SUBROUTINE SUB1
16*404b540aSrobert       SUBROUTINE SUB2(THE_SUM)
17*404b540aSrobert        USE A22_MODULE8
18*404b540aSrobert        WORK(:) = 10
19*404b540aSrobert        THE_SUM=SUM(WORK)
20*404b540aSrobert        END SUBROUTINE SUB2
21*404b540aSrobert        PROGRAM A22_8_GOOD
22*404b540aSrobert        N = 10
23*404b540aSrobert        CALL SUB1(N)
24*404b540aSrobert        END PROGRAM A22_8_GOOD
25*404b540aSrobert
26