1! { dg-do run }
2! { dg-require-effective-target tls_runtime }
3       MODULE A22_MODULE8
4         REAL, POINTER :: WORK(:)
5         SAVE WORK
6!$OMP THREADPRIVATE(WORK)
7       END MODULE A22_MODULE8
8       SUBROUTINE SUB1(N)
9       USE A22_MODULE8
10!$OMP PARALLEL PRIVATE(THE_SUM)
11         ALLOCATE(WORK(N))
12         CALL SUB2(THE_SUM)
13        WRITE(*,*)THE_SUM
14!$OMP END PARALLEL
15       END SUBROUTINE SUB1
16       SUBROUTINE SUB2(THE_SUM)
17        USE A22_MODULE8
18        WORK(:) = 10
19        THE_SUM=SUM(WORK)
20        END SUBROUTINE SUB2
21        PROGRAM A22_8_GOOD
22        N = 10
23        CALL SUB1(N)
24        END PROGRAM A22_8_GOOD
25
26! { dg-final { cleanup-modules "a22_module8" } }
27