annotate gcc/testsuite/gfortran.dg/finalize_18.f90 @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do compile }
kono
parents:
diff changeset
2 ! { dg-options "-fdump-tree-original" }
kono
parents:
diff changeset
3 !
kono
parents:
diff changeset
4 ! PR fortran/37336
kono
parents:
diff changeset
5 !
kono
parents:
diff changeset
6 module m
kono
parents:
diff changeset
7 type t
kono
parents:
diff changeset
8 contains
kono
parents:
diff changeset
9 final :: fini
kono
parents:
diff changeset
10 end type t
kono
parents:
diff changeset
11 type t2
kono
parents:
diff changeset
12 integer :: ii
kono
parents:
diff changeset
13 type(t), allocatable :: aa
kono
parents:
diff changeset
14 type(t), allocatable :: bb(:)
kono
parents:
diff changeset
15 class(t), allocatable :: cc
kono
parents:
diff changeset
16 class(t), allocatable :: dd(:)
kono
parents:
diff changeset
17 end type t2
kono
parents:
diff changeset
18 integer, save :: cnt = -1
kono
parents:
diff changeset
19 contains
kono
parents:
diff changeset
20 subroutine fini(x)
kono
parents:
diff changeset
21 type(t) :: x
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
22 if (cnt == -1) STOP 1
111
kono
parents:
diff changeset
23 cnt = cnt + 1
kono
parents:
diff changeset
24 end subroutine fini
kono
parents:
diff changeset
25 end module m
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 use m
kono
parents:
diff changeset
28 block
kono
parents:
diff changeset
29 type(t2) :: y
kono
parents:
diff changeset
30 y%ii = 123
kono
parents:
diff changeset
31 end block
kono
parents:
diff changeset
32 end
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 ! { dg-final { scan-tree-dump-times "if \\(y.aa != 0B\\)" 2 "original" } }
kono
parents:
diff changeset
35 ! { dg-final { scan-tree-dump-times "if \\(y.cc._data != 0B\\)" 2 "original" } }
kono
parents:
diff changeset
36 ! { dg-final { scan-tree-dump-times "if \\(\\(struct t\\\[0:\\\] . restrict\\) y.bb.data != 0B\\)" 2 "original" } }
kono
parents:
diff changeset
37 ! { dg-final { scan-tree-dump-times "if \\(\\(struct t\\\[0:\\\] . restrict\\) y.dd._data.data != 0B\\)" 2 "original" } }
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 ! { dg-final { scan-tree-dump-times "desc.\[0-9\]+.data = \\(void . restrict\\) y.aa;" 1 "original" } }
kono
parents:
diff changeset
40 ! { dg-final { scan-tree-dump-times "desc.\[0-9\]+.data = \\(void . restrict\\) y.cc._data;" 1 "original" } }
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 ! { dg-final { scan-tree-dump-times "__final_m_T \\(&desc.\[0-9\]+, 0, 1\\);" 1 "original" } }
kono
parents:
diff changeset
43 ! { dg-final { scan-tree-dump-times "__final_m_T \\(&y.bb, 0, 1\\);" 1 "original" } }
kono
parents:
diff changeset
44 ! { dg-final { scan-tree-dump "y.cc._vptr->_final \\(&desc.\[0-9\]+, (\\(integer\\(kind=8\\)\\) )?y.cc._vptr->_size, 1\\);" "original" } }
kono
parents:
diff changeset
45 ! { dg-final { scan-tree-dump "y.dd._vptr->_final \\(&y.dd._data, (\\(integer\\(kind=8\\)\\) )?y.dd._vptr->_size, 1\\);" "original" } }
kono
parents:
diff changeset
46