xref: /llvm-project/flang/test/Semantics/OpenMP/parallel-shared03.f90 (revision 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f)
13323a4bdSKiran Chandramohan!RUN: %python %S/../test_errors.py %s %flang -fopenmp
23323a4bdSKiran Chandramohan! OpenMP Version 4.5
33323a4bdSKiran Chandramohan! 2.15.3.2 parallel shared Clause
43323a4bdSKiran Chandramohanprogram omp_parallel_shared
53323a4bdSKiran Chandramohan  integer :: i, j, a(10), b(10), c(10)
63323a4bdSKiran Chandramohan  integer :: k = 10
73323a4bdSKiran Chandramohan  type my_type
83323a4bdSKiran Chandramohan    integer :: array(10)
93323a4bdSKiran Chandramohan  end type my_type
103323a4bdSKiran Chandramohan
113323a4bdSKiran Chandramohan  type(my_type) :: my_var
123323a4bdSKiran Chandramohan
133323a4bdSKiran Chandramohan  real :: arr(10)
143323a4bdSKiran Chandramohan  integer :: intx = 10
153323a4bdSKiran Chandramohan
163323a4bdSKiran Chandramohan  do i = 1, 10
173323a4bdSKiran Chandramohan    arr(i) = 0.0
183323a4bdSKiran Chandramohan  end do
193323a4bdSKiran Chandramohan
20*0661af89SKiran Chandramohan  !ERROR: A variable that is part of another variable (as an array or structure element) cannot appear in a SHARED clause
213323a4bdSKiran Chandramohan  !$omp parallel shared(arr(i),intx)
223323a4bdSKiran Chandramohan  do i = 1, 10
233323a4bdSKiran Chandramohan     c(i) = a(i) + b(i) + k
243323a4bdSKiran Chandramohan     my_var%array(i) = k+intx
253323a4bdSKiran Chandramohan     arr(i) = k
263323a4bdSKiran Chandramohan  end do
273323a4bdSKiran Chandramohan  !$omp end parallel
283323a4bdSKiran Chandramohanend program omp_parallel_shared
29