aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/class_allocate_4.f03
blob: 0bb5b51d4d75732e9d3dada964eea45542ef1083 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
! { dg-do run }
!
! PR 41714: [OOP] ALLOCATE SOURCE= does not properly copy the value from SOURCE
!
! Contributed by Tobias Burnus <burnus@gcc.gnu.org>

type t
  integer :: i
end type t
type, extends(t) :: t2
  integer :: j
end type t2

class(t), allocatable :: a
allocate(a, source=t2(1,2))
print *,a%i
if(a%i /= 1) STOP 1
select type (a)
  type is (t2)
     print *,a%j
     if(a%j /= 2) STOP 2
end select
end