! RUN: %S/../test_errors.sh %s %t %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.10 Cache program openacc_cache_validity implicit none type atype real(8), dimension(10) :: arr real(8) :: s end type atype integer :: i integer, parameter :: N = 256 real(8), dimension(N, N) :: aa type(atype) :: t type(atype), dimension(10) :: ta real(8), dimension(N) :: a !$acc cache(a(i)) !$acc cache(a(1:2,3:4)) !$acc cache(a) !$acc cache(readonly: a, aa) !$acc cache(readonly: a(i), aa(i, i)) !$acc cache(t%arr) !$acc cache(ta(1:2)%arr) !$acc cache(ta(1:2)%arr(1:4)) !ERROR: Only array element or subarray are allowed in CACHE directive !$acc cache(ta(1:2)%s) !ERROR: Only array element or subarray are allowed in CACHE directive !$acc cache(i) !ERROR: Only array element or subarray are allowed in CACHE directive !$acc cache(t%s) !ERROR: Only array element or subarray are allowed in CACHE directive !$acc cache(/i/) end program openacc_cache_validity