mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-28 11:30:19 +00:00
43 lines
811 B
Fortran
43 lines
811 B
Fortran
! { dg-do run }
|
|
Module m
|
|
Implicit None
|
|
Type, Public :: t1
|
|
Integer, Allocatable :: i(:)
|
|
End Type
|
|
Type, Public :: t2
|
|
Integer, Allocatable :: i(:)
|
|
End Type
|
|
Type, Public :: t3
|
|
Type (t2) :: t
|
|
End Type
|
|
Type, Public :: t4
|
|
End Type
|
|
Type, Public, Extends (t4) :: t5
|
|
Type (t1) :: t_c1
|
|
End Type
|
|
Type, Public, Extends (t4) :: t6
|
|
Type (t5) :: t_c2
|
|
End Type
|
|
Type, Public, Extends (t6) :: t7
|
|
Type (t3) :: t_c3
|
|
End Type
|
|
End Module
|
|
Program main
|
|
Use m
|
|
Implicit None
|
|
Interface
|
|
Subroutine s(t)
|
|
Use m
|
|
Class (t4), Allocatable, Intent (Out) :: t
|
|
End Subroutine
|
|
End Interface
|
|
Class (t4), Allocatable :: t
|
|
Call s(t)
|
|
Deallocate (t)
|
|
End Program
|
|
Subroutine s(t)
|
|
Use m
|
|
Class (t4), Allocatable, Intent (Out) :: t
|
|
Allocate (t7 :: t)
|
|
End Subroutine
|