blob: 930b886a299878f07f6c1d945d275dadcc599266 [file] [edit]
!RUN: %flang_fc1 -fdebug-dump-symbols %s 2>&1 | FileCheck %s
!CHECK: DerivedType scope: b size=4048 alignment=8 instantiation of b sourceRange=62 bytes
!CHECK: DerivedType scope: e size=4080 alignment=8 instantiation of e sourceRange=48 bytes
!CHECK: DerivedType scope: size=4048 alignment=8 instantiation of b(k=4_4) sourceRange=0 bytes
!CHECK: DerivedType scope: size=4080 alignment=8 instantiation of e(k=4_4) sourceRange=0 bytes
!CHECK: DerivedType scope: size=4048 alignment=8 instantiation of b(k=4_4) sourceRange=0 bytes
!CHECK: DerivedType scope: size=4080 alignment=8 instantiation of e(k=4_4) sourceRange=0 bytes
!CHECK: DerivedType scope: size=4048 alignment=8 instantiation of b(k=4_4) sourceRange=0 bytes
!CHECK: DerivedType scope: size=4048 alignment=8 instantiation of b(k=4_4) sourceRange=0 bytes
!CHECK: DerivedType scope: size=4080 alignment=8 instantiation of e(k=4_4) sourceRange=0 bytes
!CHECK: DerivedType scope: size=4048 alignment=8 instantiation of b(k=4_4) sourceRange=0 bytes
module noPDTs
type :: b
integer::d1
type (e),allocatable::n
integer::dd1(1000)
end type
type,extends(b) :: e
integer::d2
character(:),allocatable::c
end type
contains
subroutine alloc(d)
class (b),allocatable :: d
allocate(e::d)
end subroutine alloc
subroutine s1
class (b),allocatable :: v
call alloc(v)
deallocate(v)
end
end
module PDTs
type :: b(k)
integer, kind :: k
integer(k)::d1
type(e(k)),allocatable::n
integer::dd1(1000)
end type
type,extends(b) :: e
integer::d2
character(:),allocatable::c
end type
contains
subroutine alloc(d)
class(b(kind(0))),allocatable :: d
allocate(e(kind(0))::d)
end subroutine alloc
subroutine s2
class(b(kind(0))),allocatable :: v
call alloc(v)
deallocate(v)
end
end
use noPDTS, only: s1
use PDTS, only: s2
call s1
call s2
print *, 'ok'
end