1! { dg-do compile }
2!
3! PR 82932: [OOP] ICE in update_compcall_arglist, at fortran/resolve.c:5837
4!
5! Contributed by Janus Weil <janus@gcc.gnu.org>
6
7module m
8
9   implicit none
10
11   type, abstract :: AT
12   contains
13      procedure(init_ifc),    deferred :: sinit
14      procedure(missing_ifc), deferred :: missing
15      generic :: init    => sinit
16   end type
17
18   abstract interface
19      subroutine init_ifc(data)
20         import AT
21         class(AT) :: data
22      end subroutine
23      subroutine missing_ifc(data)
24         import AT
25         class(AT) :: data
26      end subroutine
27   end interface
28
29end module
30
31
32program p
33
34   use m
35
36   implicit none
37
38   type, extends(AT) :: ET  ! { dg-error "must be ABSTRACT" }
39   contains
40      procedure :: sinit
41   end type
42
43   type(ET) :: c
44   call c%init()
45
46end
47