1 ! Test the collapse and reduction loop clauses inside a kernels region.
6 integer :: i
, j
, k
, a(1:7, -3:5, 12:19), b(1:7, -3:5, 12:19)
13 !$acc loop collapse (3) reduction (.or.:l)
17 l
= l
.or
.i
.lt
.2.or
.i
.gt
.6.or
.j
.lt
.-2.or
.j
.gt
.4
18 l
= l
.or
.k
.lt
.13.or
.k
.gt
.18
19 if (.not
.l
) a(i
, j
, k
) = a(i
, j
, k
) + 1
27 r
= r
.or
.i
.lt
.2.or
.i
.gt
.6.or
.j
.lt
.-2.or
.j
.gt
.4
28 r
= r
.or
.k
.lt
.13.or
.k
.gt
.18
29 if (.not
.l
) b(i
, j
, k
) = b(i
, j
, k
) + 1
33 if (l
.neqv
. r
) call abort
37 if (a(i
, j
, k
) .ne
. b(i
, j
, k
)) call abort