| ! { 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 |