1 ! Test alternate entry points for functions when the result types
2 ! of all entry points match
6 integer, pointer :: f1
, e1
15 real, pointer :: f2
, e2
21 double precision, pointer :: f3
, e3
26 function f4 (a
) result (r
)
28 double precision, pointer :: r
, s
32 entry e4 (b
) result (s
)
36 function f5 () result (r
)
37 integer, pointer :: r
, s
38 entry e5 () result (s
)
42 function f6 () result (r
)
44 entry e6 () result (s
)
53 integer, pointer :: f1
57 integer, pointer :: e1
66 double precision, pointer :: f3
69 double precision, pointer :: e3
73 double precision, pointer :: f4
77 double precision, pointer :: e4
80 integer, pointer :: f5
83 integer, pointer :: e5
93 if (f1 (6) .ne
. 21) STOP 1
94 if (e1 (7) .ne
. 49) STOP 2
95 if (f2 () .ne
. 45) STOP 3
96 if (e2 () .ne
. 45) STOP 4
97 if (f3 () .ne
. 47) STOP 5
98 if (e3 () .ne
. 47) STOP 6
100 if (f4 (d
) .ne
. 32) STOP 7
101 if (e4 (d
) .ne
. 59) STOP 8
102 if (f5 () .ne
. 45) STOP 9
103 if (e5 () .ne
. 45) STOP 10
104 if (f6 () .ne
. 47) STOP 11
105 if (e6 () .ne
. 47) STOP 12