! { dg-do run }

! { dg-additional-options "-Wopenacc-parallelism" } for testing/documenting
! aspects of that functionality.

program reduction
  implicit none
  integer, parameter :: n = 10
  integer s1, s2
  include "openacc_lib.h"

  s1 = 0
  s2 = 0

  !$acc parallel reduction(+:s1,s2) num_gangs (n) copy(s1)
  ! { dg-bogus "\[Ww\]arning: region is gang partitioned but does not contain gang partitioned code" "TODO 'reduction'" { xfail *-*-* } .-1 }
  s1 = s1 + 1
  s2 = s2 + 1
  !$acc end parallel

  if (acc_get_device_type () .ne. acc_device_host) then
     if (s1 .ne. n) STOP 1
     if (s2 .ne. n) STOP 2
  else
     if (s1 .ne. 1) STOP 3
     if (s2 .ne. 1) STOP 4
  end if

  ! Test reductions inside subroutines

  s1 = 0
  s2 = 0
  call redsub (s1, s2, n)

  if (acc_get_device_type () .ne. acc_device_host) then
     if (s1 .ne. n) STOP 5
  else
     if (s2 .ne. 1) STOP 6
  end if
end program reduction

subroutine redsub(s1, s2, n)
  implicit none
  integer :: s1, s2, n

  !$acc parallel reduction(+:s1,s2) num_gangs (10)  copy(s1)
  ! { dg-bogus "\[Ww\]arning: region is gang partitioned but does not contain gang partitioned code" "TODO 'reduction'" { xfail *-*-* } .-1 }
  s1 = s1 + 1
  s2 = s2 + 1
  !$acc end parallel
end subroutine redsub
