4 integer, allocatable
:: arr1(:,:)
16 type(type3
), allocatable
:: t3(:)
21 type(type4
), allocatable
:: var1(:)
27 allocate(var1(i
)%t3(1:20))
30 allocate(var1(i
)%t3(j
)%t2(k
)%t1
%arr1(1:20,1:20))
35 allocate(var2
%t3(1:20))
38 allocate(var2
%t3(i
)%t2(j
)%t1
%arr1(1:20,1:20))
45 var1(i
)%t3(j
)%t2(k
)%t1
%arr1(:,:) = 0
47 var2
%t3(i
)%t2(j
)%t1
%arr1(:,:) = 0
51 !$acc enter data copyin(var2%t3(4)%t2(3)%t1%arr1(:,:))
52 !$acc enter data copyin(var1(5)%t3(4)%t2(3)%t1%arr1(:,:))
54 var2
%t3(4)%t2(3)%t1
%arr1(:,:) = 5
55 var1(5)%t3(4)%t2(3)%t1
%arr1(:,:) = 4
57 !$acc update device(var2%t3(4)%t2(3)%t1%arr1)
58 !$acc update device(var1(5)%t3(4)%t2(3)%t1%arr1)
60 !$acc exit data copyout(var1(5)%t3(4)%t2(3)%t1%arr1(:,:))
61 !$acc exit data copyout(var2%t3(4)%t2(3)%t1%arr1(:,:))
66 if (i
.eq
.5 .and
. j
.eq
.4 .and
. k
.eq
.3) then
67 if (any(var1(i
)%t3(j
)%t2(k
)%t1
%arr1
.ne
. 4)) stop 1
69 if (any(var1(i
)%t3(j
)%t2(k
)%t1
%arr1
.ne
. 0)) stop 2
72 if (i
.eq
.4 .and
. j
.eq
.3) then
73 if (any(var2
%t3(i
)%t2(j
)%t1
%arr1
.ne
. 5)) stop 3
75 if (any(var2
%t3(i
)%t2(j
)%t1
%arr1
.ne
. 0)) stop 4
81 allocate(var3
%t2(i
)%t1
%arr1(1:20, 1:20))
82 var3
%t2(i
)%t1
%arr1(:,:) = 0
85 !$acc enter data copyin(var3)
86 !$acc enter data copyin(var3%t2(:))
87 !$acc enter data copyin(var3%t2(5)%t1)
88 !$acc data copyin(var3%t2(5)%t1%arr1)
90 !$acc serial present(var3%t2(5)%t1%arr1)
91 ! { dg-warning "using .vector_length \\(32\\)., ignoring 1" "" { target openacc_nvidia_accel_selected } .-1 }
92 var3
%t2(5)%t1
%arr1(:,:) = 6
95 !$acc update host(var3%t2(5)%t1%arr1)
98 !$acc exit data delete(var3%t2(5)%t1)
99 !$acc exit data delete(var3%t2)
100 !$acc exit data delete(var3)
104 if (any(var3
%t2(i
)%t1
%arr1
.ne
.6)) stop 5
106 if (any(var3
%t2(i
)%t1
%arr1
.ne
.0)) stop 6