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