aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/recursive_interface_2.f90
blob: 9726a0ef7ee4eb3b7bcd88a853857a95c7bde5f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
! { dg-do compile }
!
! PR fortran/54107
! Recursive interfaces used to lead to an infinite recursion during
! translation.

module m
 contains
  subroutine foo (arg) 
    procedure(foo) :: arg 
  end subroutine 
  function foo2 (arg) result(r)
    procedure(foo2) :: arg
    procedure(foo2), pointer :: r
  end function 
  subroutine bar (arg) 
    procedure(baz) :: arg 
  end subroutine 
  subroutine baz (arg) 
    procedure(bar) :: arg 
  end subroutine 
end module m