blob: c8272270836730fc94a202e082c13d7253d507e7 [file] [log] [blame]
! { dg-do compile }
!
! PR 36947: Attributes not fully checked comparing actual vs dummy procedure
!
! Original test case by Walter Spector <w6ws@earthlink.net>
! Modified by Janus Weil <janus@gcc.gnu.org>
module testsub
contains
subroutine test(sub)
interface
subroutine sub(x)
integer, intent(in), optional:: x
end subroutine
end interface
call sub()
end subroutine
end module
module sub
contains
subroutine subActual(x)
! actual subroutine's argment is different in intent
integer, intent(inout),optional:: x
end subroutine
subroutine subActual2(x)
! actual subroutine's argment is missing OPTIONAL
integer, intent(in):: x
end subroutine
end module
program interfaceCheck
use testsub
use sub
integer :: a
call test(subActual) ! { dg-error "INTENT mismatch in argument" }
call test(subActual2) ! { dg-error "OPTIONAL mismatch in argument" }
end program