1implicit none
2character(len=10) :: str1, str2(5,5)
3
4type t
5  character(len=10) :: str1, str2(5,5)
6end type t
7type(t) :: v
8
9!$omp target enter data map(to: str1)      ! OK
10!$omp target enter data map(to: str2)      ! OK
11!$omp target enter data map(to: str2(2,5)) ! OK
12
13!$omp target enter data map(to: str1(2,5))         ! { dg-error "Syntax error in OpenMP variable list" }
14!$omp target enter data map(to: str2(1,2)(2:4))    ! { dg-error "Unexpected substring reference in MAP clause" }
15
16!$omp target enter data map(to: v%str1)       ! OK
17!$omp target enter data map(to: v%str2)       ! OK
18!$omp target enter data map(to: v%str2(1,2))  ! OK
19
20!$omp target enter data map(to: v%str1(2:5))       ! { dg-error "Unexpected substring reference in MAP clause" }
21!$omp target enter data map(to: v%str2(1,2)(2:4))  ! { dg-error "Unexpected substring reference in MAP clause" }
22end
23