! PR fortran/89084
! { dg-lto-do link }
! { dg-lto-options {{ -O0 -flto }} }
integer function foo ()
  write (*,*) 'foo'
  block
    integer, parameter :: idxs(3) = (/ 1, 2, 3 /)
    integer :: i
    foo = 0
    do i = 1, size(idxs)
      foo = foo + idxs(i)
    enddo
  end block
end function foo
program pr89084
  integer :: i
  interface
    integer function foo ()
    end function
  end interface
  i = foo ()
  if (i.ne.6) stop 1
end