annotate gcc/testsuite/gfortran.dg/proc_ptr_47.f90 @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +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 run }
kono
parents:
diff changeset
2 ! Tests the fix for PR68196
kono
parents:
diff changeset
3 !
kono
parents:
diff changeset
4 ! Contributed by Damian Rouson <damian@sourceryinstitute.org>
kono
parents:
diff changeset
5 !
kono
parents:
diff changeset
6 type AA
kono
parents:
diff changeset
7 integer :: i
kono
parents:
diff changeset
8 procedure(foo), pointer :: funct
kono
parents:
diff changeset
9 end type
kono
parents:
diff changeset
10 class(AA), allocatable :: my_AA
kono
parents:
diff changeset
11 type(AA) :: res
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 allocate (my_AA, source = AA (1, foo))
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 res = my_AA%funct ()
kono
parents:
diff changeset
16
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
17 if (res%i .ne. 3) STOP 1
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
18 if (.not.associated (res%funct)) STOP 2
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
19 if (my_AA%i .ne. 4) STOP 3
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
20 if (associated (my_AA%funct)) STOP 4
111
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 contains
kono
parents:
diff changeset
23 function foo(A)
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
24 class(AA) :: A
111
kono
parents:
diff changeset
25 type(AA) foo
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 select type (A)
kono
parents:
diff changeset
28 type is (AA)
kono
parents:
diff changeset
29 foo = AA (3, foo)
kono
parents:
diff changeset
30 A = AA (4, NULL ())
kono
parents:
diff changeset
31 end select
kono
parents:
diff changeset
32 end function
kono
parents:
diff changeset
33 end