45 lines · plain
1!RUN: %python %S/../test_errors.py %s %flang -fopenmp2subroutine test_cray_pointer_usage3 implicit none4 integer :: i5 real(8) :: var(*), pointee(2)6 pointer(ivar, var)7 ! ERROR: Cray Pointee 'var' may not appear in LINEAR clause8 ! ERROR: The list item 'var' specified without the REF 'linear-modifier' must be of INTEGER type9 ! ERROR: The list item `var` must be a dummy argument10 !$omp declare simd linear(var)11 12 pointee = 42.013 ivar = loc(pointee)14 15 !$omp parallel num_threads(2) default(none)16 ! ERROR: The DEFAULT(NONE) clause requires that the Cray Pointer 'ivar' must be listed in a data-sharing attribute clause17 print *, var(1)18 !$omp end parallel19 20 ! ERROR: Cray Pointee 'var' may not appear in PRIVATE clause, use Cray Pointer 'ivar' instead21 !$omp parallel num_threads(2) default(none) private(var)22 print *, var(1)23 !$omp end parallel24 25 ! ERROR: Cray Pointee 'var' may not appear in SHARED clause, use Cray Pointer 'ivar' instead26 !$omp parallel num_threads(2) default(none) shared(var)27 print *, var(1)28 !$omp end parallel29 30 ! ERROR: Cray Pointee 'var' may not appear in LASTPRIVATE clause, use Cray Pointer 'ivar' instead31 !$omp do lastprivate(var)32 do i = 1, 1033 print *, var(1)34 end do35 !$omp end do36 37 !$omp parallel num_threads(2) default(none) firstprivate(ivar)38 print *, var(1)39 !$omp end parallel40 41 !$omp parallel num_threads(2) default(private) shared(ivar)42 print *, var(1)43 !$omp end parallel44end subroutine test_cray_pointer_usage45