annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do run }
kono
parents:
diff changeset
2 ! { dg-options "-fdump-tree-original" }
kono
parents:
diff changeset
3 !
kono
parents:
diff changeset
4 ! PR 43969: [OOP] ALLOCATED() with polymorphic variables
kono
parents:
diff changeset
5 !
kono
parents:
diff changeset
6 ! Contributed by Salvatore Filippone <sfilippone@uniroma2.it>
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 module foo_mod
kono
parents:
diff changeset
10 type foo_inner
kono
parents:
diff changeset
11 integer, allocatable :: v(:)
kono
parents:
diff changeset
12 end type foo_inner
kono
parents:
diff changeset
13 type foo_outer
kono
parents:
diff changeset
14 class(foo_inner), allocatable :: int
kono
parents:
diff changeset
15 end type foo_outer
kono
parents:
diff changeset
16 contains
kono
parents:
diff changeset
17 subroutine foo_checkit()
kono
parents:
diff changeset
18 implicit none
kono
parents:
diff changeset
19 type(foo_outer) :: try
kono
parents:
diff changeset
20 type(foo_outer),allocatable :: try2
kono
parents:
diff changeset
21 class(foo_outer), allocatable :: try3
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 if (allocated(try%int)) call abort()
kono
parents:
diff changeset
24 allocate(foo_outer :: try3)
kono
parents:
diff changeset
25 if (allocated(try3%int)) call abort()
kono
parents:
diff changeset
26 allocate(try2)
kono
parents:
diff changeset
27 if (allocated(try2%int)) call abort()
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 end subroutine foo_checkit
kono
parents:
diff changeset
30 end module foo_mod
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 program main
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 use foo_mod
kono
parents:
diff changeset
36 implicit none
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 call foo_checkit()
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 end program main
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 ! { dg-final { scan-tree-dump-times "__builtin_free" 12 "original" } }