! { dg-do compile }
! { dg-options "-std=f2003" }
! Test the patch for PR25098, where passing a variable as an
! actual argument to a formal argument that is a procedure
! went undiagnosed.
!
! Based on contribution by Joost VandeVondele  <jv244@cam.ac.uk>
!
integer function y()
  y = 1
end
integer function z()
  z = 1
end

module m1
contains
  subroutine s1(f)
    interface
      function f()
        integer f
      end function f
    end interface
  end subroutine s1
  subroutine s2(x)
    integer :: x
  end subroutine
end module m1

  use m1
  external y
  interface
   function x()
     integer x
   end function x
  end interface

  integer :: i, y, z
  i=1
  call s1(i) ! { dg-error "Expected a procedure for argument" }
  call s1(w) ! { dg-error "used as actual argument" }
  call s1(x) ! explicit interface
  call s1(y) ! declared external
  call s1(z) ! { dg-error "Expected a procedure for argument" }
  call s2(x) ! { dg-error "Invalid procedure argument" }
contains
  integer function w()
    w = 1
  end function w
end
