! { dg-do run }
! { dg-options "-fdec-static -finit-local-zero" }
!
! Test AUTOMATIC and STATIC attributes.
!
subroutine assert(s, i1, i2)
  implicit none
  integer, intent(in)      :: i1, i2
  character(*), intent(in) :: s
  if (i1 .ne. i2) then
    print *, s, ": expected ", i2, " but was ", i1
    STOP 1
  endif
endsubroutine assert

function f (x, y)
  implicit none
  integer f
  integer, intent(in)  :: x, y
  integer              :: a    ! only a can actually be saved
  integer, automatic   :: c    ! should actually be automatic
  save

  ! a should be incremented by x every time and saved
  a = a + x
  f = a

  ! c should be zeroed every time, therefore equal y
  c = c + y
  call assert ("f%c", c, y)
  return
endfunction

implicit none
integer :: f

! Should return static value of a; accumulates x
call assert ("f()", f(1,3), 1)
call assert ("f()", f(1,4), 2)
call assert ("f()", f(1,2), 3)

end
