! { dg-do compile } ! ! PR 36947: Attributes not fully checked comparing actual vs dummy procedure ! ! Contributed by Tobias Burnus module m interface foo module procedure one, two end interface foo contains subroutine one(op,op2) interface subroutine op(x, y) complex, intent(in) :: x(:) complex, intent(out) :: y(:) end subroutine op subroutine op2(x, y) complex, intent(in) :: x(:) complex, intent(out) :: y(:) end subroutine op2 end interface end subroutine one subroutine two(ops,i,j) interface subroutine op(x, y) complex, intent(in) :: x(:) complex, intent(out) :: y(:) end subroutine op end interface real :: i,j end subroutine two end module m module test contains subroutine bar() use m call foo(precond_prop,prop2) end subroutine bar subroutine precond_prop(x, y) complex, intent(in) :: x(:) complex, intent(out) :: y(:) end subroutine subroutine prop2(x, y) complex, intent(in) :: x(:) complex, intent(out) :: y(:) end subroutine end module test