comparison gcc/testsuite/gfortran.dg/class_19.f03 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 ! { dg-do run }
2 ! { dg-options "-fdump-tree-original" }
3 !
4 ! PR 43969: [OOP] ALLOCATED() with polymorphic variables
5 !
6 ! Contributed by Salvatore Filippone <sfilippone@uniroma2.it>
7
8
9 module foo_mod
10 type foo_inner
11 integer, allocatable :: v(:)
12 end type foo_inner
13 type foo_outer
14 class(foo_inner), allocatable :: int
15 end type foo_outer
16 contains
17 subroutine foo_checkit()
18 implicit none
19 type(foo_outer) :: try
20 type(foo_outer),allocatable :: try2
21 class(foo_outer), allocatable :: try3
22
23 if (allocated(try%int)) call abort()
24 allocate(foo_outer :: try3)
25 if (allocated(try3%int)) call abort()
26 allocate(try2)
27 if (allocated(try2%int)) call abort()
28
29 end subroutine foo_checkit
30 end module foo_mod
31
32
33 program main
34
35 use foo_mod
36 implicit none
37
38 call foo_checkit()
39
40 end program main
41
42 ! { dg-final { scan-tree-dump-times "__builtin_free" 12 "original" } }