aboutsummaryrefslogtreecommitdiff
path: root/flang/test/Semantics/OpenMP/map-clause.f90
blob: 22c7b145f45016d0866c7fcd110d5af95dd1fddd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
! RUN: %python %S/../test_errors.py %s %flang -fopenmp -fopenmp-version=52
! Check OpenMP MAP clause validity. Section 5.8.3 OpenMP 5.2.

subroutine sb(arr)
  implicit none
  real(8) :: arr(*)
  real :: a
  integer:: b, c, i
  common /var/ b, c  
  
  !ERROR: Whole assumed-size arrays are not allowed on MAP clause
  !$omp target map(arr)
  do i = 1, 100
     a = 3.14
  enddo
  !$omp end target

  !ERROR: Assumed-size array 'arr' must have explicit final subscript upper bound value
  !$omp target map(arr(:))
  do i = 1, 100
     a = 3.14
  enddo
  !$omp end target

  !$omp target map(arr(3:5))
  do i = 1, 100
     a = 3.14
  enddo
  !$omp end target

 !$omp target map(tofrom: /var/)
   b = 1
   c = 2
 !$omp end target
end subroutine

subroutine sb1
  integer :: xx
  integer :: a
  !ERROR: Name 'xx' should be a mapper name
  !$omp target map(mapper(xx), from:a)
  !$omp end target
end subroutine sb1