34 lines
639 B
Fortran
34 lines
639 B
Fortran
|
! RUN: %python %S/../test_errors.py %s %flang -fopenmp
|
||
|
! OpenMP Version 4.5
|
||
|
! 2.15.4.1 copyin Clause
|
||
|
! A list item that appears in a copyin clause must be threadprivate.
|
||
|
! Named variables appearing in a threadprivate common block may be specified
|
||
|
! It is not necessary to specify the whole common block.
|
||
|
|
||
|
program omp_copyin
|
||
|
|
||
|
integer :: a(10), b(10)
|
||
|
common /cmn/ j, k
|
||
|
|
||
|
!$omp threadprivate(/cmn/)
|
||
|
|
||
|
j = 20
|
||
|
k = 10
|
||
|
|
||
|
!$omp parallel copyin(/cmn/)
|
||
|
a(:5) = k
|
||
|
b(:5) = j
|
||
|
!$omp end parallel
|
||
|
|
||
|
j = j + k
|
||
|
k = k * j
|
||
|
|
||
|
!$omp parallel copyin(j, k)
|
||
|
a(6:) = j
|
||
|
b(6:) = k
|
||
|
!$omp end parallel
|
||
|
|
||
|
print *, a, b
|
||
|
|
||
|
end program omp_copyin
|