Retro68/gcc/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.8.f90

27 lines
680 B
Fortran
Raw Normal View History

2012-03-27 23:13:14 +00:00
! { 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" } }