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