view gcc/testsuite/gfortran.dg/goacc/array-reduction.f90 @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 04ced10e8804
children
line wrap: on
line source

program test
  implicit none
  integer a(10), i

  a(:) = 0
  
  ! Array reductions.
  
  !$acc parallel reduction (+:a) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a = a + 1
  end do
  !$acc end parallel

  !$acc parallel
  !$acc loop reduction (+:a) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a = a + 1
  end do
  !$acc end parallel

  !$acc kernels
  !$acc loop reduction (+:a) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a = a + 1
  end do
  !$acc end kernels

  ! Subarray reductions.
  
  !$acc parallel reduction (+:a(1:5)) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a = a + 1
  end do
  !$acc end parallel

  !$acc parallel
  !$acc loop reduction (+:a(1:5)) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a = a + 1
  end do
  !$acc end parallel

  !$acc kernels
  !$acc loop reduction (+:a(1:5)) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a = a + 1
  end do
  !$acc end kernels

  ! Reductions on array elements.
  
  !$acc parallel reduction (+:a(1)) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a(1) = a(1) + 1
  end do
  !$acc end parallel

  !$acc parallel
  !$acc loop reduction (+:a(1)) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a(1) = a(1) + 1
  end do
  !$acc end parallel

  !$acc kernels
  !$acc loop reduction (+:a(1)) ! { dg-error "Array 'a' is not permitted in reduction" }
  do i = 1, 10
     a(1) = a(1) + 1
  end do
  !$acc end kernels
  
  print *, a
end program test