| ! { dg-do run } |
| ! { dg-require-effective-target tls_runtime } |
| MODULE A22_MODULE8 |
| REAL, POINTER :: WORK(:) |
| SAVE WORK |
| !$OMP THREADPRIVATE(WORK) |
| END MODULE A22_MODULE8 |
| SUBROUTINE SUB1(N) |
| USE A22_MODULE8 |
| !$OMP PARALLEL PRIVATE(THE_SUM) |
| ALLOCATE(WORK(N)) |
| CALL SUB2(THE_SUM) |
| WRITE(*,*)THE_SUM |
| !$OMP END PARALLEL |
| END SUBROUTINE SUB1 |
| SUBROUTINE SUB2(THE_SUM) |
| USE A22_MODULE8 |
| WORK(:) = 10 |
| THE_SUM=SUM(WORK) |
| END SUBROUTINE SUB2 |
| PROGRAM A22_8_GOOD |
| N = 10 |
| CALL SUB1(N) |
| END PROGRAM A22_8_GOOD |
| |
| ! { dg-final { cleanup-modules "a22_module8" } } |