1! { dg-do compile } 2! 3! PR 36947: Attributes not fully checked comparing actual vs dummy procedure 4! 5! Contributed by Tobias Burnus <burnus@net-b.de> 6 7module m 8interface foo 9 module procedure one, two 10end interface foo 11contains 12subroutine one(op,op2) 13 interface 14 subroutine op(x, y) 15 complex, intent(in) :: x(:) 16 complex, intent(out) :: y(:) 17 end subroutine op 18 subroutine op2(x, y) 19 complex, intent(in) :: x(:) 20 complex, intent(out) :: y(:) 21 end subroutine op2 22 end interface 23end subroutine one 24subroutine two(ops,i,j) 25 interface 26 subroutine op(x, y) 27 complex, intent(in) :: x(:) 28 complex, intent(out) :: y(:) 29 end subroutine op 30 end interface 31 real :: i,j 32end subroutine two 33end module m 34 35module test 36contains 37subroutine bar() 38 use m 39 call foo(precond_prop,prop2) 40end subroutine bar 41 subroutine precond_prop(x, y) 42 complex, intent(in) :: x(:) 43 complex, intent(out) :: y(:) 44 end subroutine 45 subroutine prop2(x, y) 46 complex, intent(in) :: x(:) 47 complex, intent(out) :: y(:) 48 end subroutine 49end module test 50