1! { dg-do compile } 2! 3! PR 40453: [F95] Enhanced (recursive) argument checking 4! 5! Contributed by Tobias Burnus <burnus@gcc.gnu.org> 6 7program RecursiveInterface 8 9 call c(b2) ! { dg-error "Interface mismatch in dummy procedure" } 10 11 contains 12 13 subroutine a1(x) 14 real :: x 15 end subroutine 16 17 subroutine a2(i) 18 integer :: i 19 end subroutine 20 21 !!!!!!!!!!!!!!! 22 23 subroutine b1 (f1) 24 procedure(a1) :: f1 25 end subroutine 26 27 subroutine b2 (f2) 28 procedure(a2) :: f2 29 end subroutine 30 31 !!!!!!!!!!!!!!! 32 33 subroutine c(g) 34 procedure(b1) :: g 35 end subroutine 36 37end 38