gcc/libgomp/testsuite/libgomp.fortran/pr81841.f90

27 lines
497 B
Fortran
Raw Normal View History

! PR fortran/81841
! { dg-do run }
block data
integer :: a
real :: b(2)
common /c/ a, b
!$omp threadprivate (/c/)
data a / 32 /
data b /2*1./
end
program pr81841
use omp_lib
integer :: e
real :: f(2)
common /c/ e, f
!$omp threadprivate (/c/)
!$omp parallel num_threads(8)
if ((e /= 32) .or. any(f /= 1.)) call abort
e = omp_get_thread_num ()
f = e + 19.
!$omp barrier
if ((e /= omp_get_thread_num ()) .or. any(f /= e + 19.)) call abort
!$omp end parallel
end