blob: 368e9370c60b327d970fc4234544b9f22c11178f [file] [log] [blame]
! Test invalid usages of the if_present clause.
subroutine t1
implicit none
!$acc routine gang if_present ! { dg-error "Failed to match clause" }
integer a, b, c(10)
real, allocatable :: x, y, z(:)
a = 5
b = 10
c(:) = -1
allocate (x, y, z(100))
!$acc enter data copyin(a) if_present ! { dg-error "Expected '\\(' after 'if'" }
!$acc exit data copyout(a) if_present ! { dg-error "Expected '\\(' after 'if'" }
!$acc data copy(a) if_present ! { dg-error "Expected '\\(' after 'if'" }
!$acc end data ! { dg-error "Unexpected ..ACC END DATA statement" }
!$acc declare link(a) if_present ! { dg-error "Unexpected junk after" }
!$acc init if_present ! { dg-error "Unclassifiable OpenACC directive" }
!$acc shutdown if_present ! { dg-error "Unclassifiable OpenACC directive" }
!$acc update self(a) device_type(nvidia) device(b) if_present ! { dg-error "Failed to match clause" }
end subroutine t1
subroutine t2
implicit none
integer a, b, c(10)
a = 5
b = 10
c(:) = -1
!$acc parallel
!$acc loop if_present ! { dg-error "Failed to match clause" }
do b = 1, 10
end do
!$acc end parallel
!$acc kernels loop if_present ! { dg-error "Expected '\\(' after 'if'" }
do b = 1, 10
end do
!$acc end kernels loop ! { dg-error "Unexpected ..ACC END KERNELS LOOP statement" }
!$acc parallel loop if_present ! { dg-error "Expected '\\(' after 'if'" }
do b = 1, 10
end do
!$acc end parallel loop ! { dg-error "Unexpected ..ACC END PARALLEL LOOP statement" }
end subroutine t2