! chk_acc.f90 --
!     Minimal reproducer for a problem with OpenACC in gfortran
!
!     Grrr, this one works!
!
program chk_acc
    implicit none

    integer :: i, j, sz
    real, dimension(:), allocatable :: u

    write(*,*) 'In program'

    sz = 10000

    allocate( u(sz) )
    u=0.0

    write(*,*) 'Starting ...'

    !$acc data copy(u)
    write(*,*) 'do while ...'
    do i = 1,10
        write(*,*) i

        !$acc parallel loop present(u)
        do j = 1,sz
            u(j) = u(j) + 1.0
        enddo
    enddo
    !$acc end data

    write(*,*) u(10)
end program
