53 lines
1.1 KiB
Fortran
53 lines
1.1 KiB
Fortran
! { dg-do compile }
|
|
!
|
|
! PR 36947: Attributes not fully checked comparing actual vs dummy procedure
|
|
!
|
|
! Contributed by Tobias Burnus <burnus@net-b.de>
|
|
|
|
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
|
|
|
|
! { dg-final { cleanup-modules "m" } }
|
|
|