brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1006 B · 49f400e Raw
47 lines · plain
1! RUN: %python %S/../test_errors.py %s %flang -fopenacc2 3! Check OpenACC clause validity for the following construct and directive:4!   2.10 Cache5 6program openacc_cache_validity7 8  implicit none9 10  type atype11    real(8), dimension(10) :: arr12    real(8) :: s13  end type atype14 15  integer :: i16  integer, parameter :: N = 25617  real(8), dimension(N, N) :: aa18  type(atype) :: t19  type(atype), dimension(10) :: ta20  real(8), dimension(N) :: a21 22  do i = 1, N23 24  !$acc cache(a(i))25  !$acc cache(a(1:2,3:4))26  !$acc cache(a)27  !$acc cache(readonly: a, aa)28  !$acc cache(readonly: a(i), aa(i, i))29  !$acc cache(t%arr)30  !$acc cache(ta(1:2)%arr)31  !$acc cache(ta(1:2)%arr(1:4))32  !$acc cache(i)33  !$acc cache(t%s)34 35  !ERROR: Only array element or subarray are allowed in CACHE directive36  !$acc cache(t)37 38  !ERROR: Only array element or subarray are allowed in CACHE directive39  !$acc cache(/i/)40 41  end do42 43  !ERROR: The CACHE directive must be inside a loop44  !$acc cache(a)45 46end program openacc_cache_validity47