xref: /llvm-project/flang/test/Semantics/OpenMP/copyin02.f90 (revision 0ee6646d6fb3b0b9a3655b14bd1cbc18a4e99600)
1*3323a4bdSKiran Chandramohan! RUN: %python %S/../test_errors.py %s %flang -fopenmp
2*3323a4bdSKiran Chandramohan! OpenMP Version 4.5
3*3323a4bdSKiran Chandramohan! 2.15.4.1 copyin Clause
4*3323a4bdSKiran Chandramohan! A common block name that appears in a copyin clause must be declared to be
5*3323a4bdSKiran Chandramohan! a common block in the same scoping unit in which the copyin clause appears.
6*3323a4bdSKiran Chandramohan
7*3323a4bdSKiran Chandramohansubroutine copyin()
8*3323a4bdSKiran Chandramohan  integer :: a = 10
9*3323a4bdSKiran Chandramohan  common /cmn/ a
10*3323a4bdSKiran Chandramohan
11*3323a4bdSKiran Chandramohan  !$omp threadprivate(/cmn/)
12*3323a4bdSKiran Chandramohan  call copyin_clause()
13*3323a4bdSKiran Chandramohan
14*3323a4bdSKiran Chandramohan  contains
15*3323a4bdSKiran Chandramohan
16*3323a4bdSKiran Chandramohan    subroutine copyin_clause()
17*3323a4bdSKiran Chandramohan      !ERROR: COMMON block must be declared in the same scoping unit in which the OpenMP directive or clause appears
18*3323a4bdSKiran Chandramohan      !$omp parallel copyin(/cmn/)
19*3323a4bdSKiran Chandramohan      print *, a
20*3323a4bdSKiran Chandramohan      !$omp end parallel
21*3323a4bdSKiran Chandramohan    end subroutine copyin_clause
22*3323a4bdSKiran Chandramohan
23*3323a4bdSKiran Chandramohanend subroutine copyin
24