view libgomp/testsuite/libgomp.fortran/pr81841.f90 @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 1830386684a0
children
line wrap: on
line source

! 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.)) stop 1
  e = omp_get_thread_num ()
  f = e + 19.
  !$omp barrier
  if ((e /= omp_get_thread_num ()) .or. any(f /= e + 19.)) stop 2
  !$omp end parallel
end