1! { dg-do run }
2!
3! PR 42769: [OOP] ICE in resolve_typebound_procedure
4! comment #27
5!
6! Contributed by Janus Weil <janus@gcc.gnu.org>
7
8
9module mod1
10  type :: t1
11  contains
12    procedure, nopass :: get => my_get
13  end type
14contains 
15  integer function my_get()
16    my_get = 1
17  end function
18end module
19
20module mod2
21contains 
22  integer function my_get()   ! must have the same name as the function in mod1
23    my_get = 2
24  end function
25end module
26
27  use mod2
28  use mod1              ! order of use statements is important
29  class(t1),allocatable :: a
30  allocate(a)
31  if (a%get()/=1) call abort()
32end
33