summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/extends_16.f90
blob: 069e3d079d5379b955c534bbdf9f0b3d1983a0ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
! { dg-do run }
!
! PR 57562: [OOP] ICE due to extended derived type with PARAMETER attribute
!
! Contributed by <helvio.vairinhos@gmail.com>

   type :: Parent
      integer :: member1 = 0
   end type

   type, extends(Parent) :: Child
      integer :: member2 = 0
   end type

   type, extends(Child) :: Grandchild
      integer :: member3 = 0
   end type

   type(Grandchild), parameter :: object = Grandchild(23, 42, -99)

   if (object%member1 /= 23) STOP 1
   if (object%member2 /= 42) STOP 1
   if (object%member3 /= -99) STOP 1

end