1! { dg-do run }
2!
3! PR 57562: [OOP] ICE due to extended derived type with PARAMETER attribute
4!
5! Contributed by <helvio.vairinhos@gmail.com>
6
7   type :: Parent
8      integer :: member1 = 0
9   end type
10
11   type, extends(Parent) :: Child
12      integer :: member2 = 0
13   end type
14
15   type, extends(Child) :: Grandchild
16      integer :: member3 = 0
17   end type
18
19   type(Grandchild), parameter :: object = Grandchild(23, 42, -99)
20
21   if (object%member1 /= 23) call abort
22   if (object%member2 /= 42) call abort
23   if (object%member3 /= -99) call abort
24
25end
26