1! Test alternate entry points for functions when the result types
2! of all entry points match
3
4	function f1 (a)
5	integer a, b, f1, e1
6	f1 = 15 + a
7	return
8	entry e1 (b)
9	e1 = 42 + b
10	end function
11	function f2 ()
12	real f2, e2
13	entry e2 ()
14	e2 = 45
15	end function
16	function f3 ()
17	double precision a, b, f3, e3
18	entry e3 ()
19	f3 = 47
20	end function
21	function f4 (a) result (r)
22	double precision a, b, r, s
23	r = 15 + a
24	return
25	entry e4 (b) result (s)
26	s = 42 + b
27	end function
28	function f5 () result (r)
29	integer r, s
30	entry e5 () result (s)
31	r = 45
32	end function
33	function f6 () result (r)
34	real r, s
35	entry e6 () result (s)
36	s = 47
37	end function
38	function f7 ()
39	entry e7 ()
40	e7 = 163
41	end function
42	function f8 () result (r)
43	entry e8 ()
44	e8 = 115
45	end function
46	function f9 ()
47	entry e9 () result (r)
48	r = 119
49	end function
50
51	program entrytest
52	integer f1, e1, f5, e5
53	real f2, e2, f6, e6, f7, e7, f8, e8, f9, e9
54	double precision f3, e3, f4, e4, d
55	if (f1 (6) .ne. 21) STOP 1
56	if (e1 (7) .ne. 49) STOP 2
57	if (f2 () .ne. 45) STOP 3
58	if (e2 () .ne. 45) STOP 4
59	if (f3 () .ne. 47) STOP 5
60	if (e3 () .ne. 47) STOP 6
61	d = 17
62	if (f4 (d) .ne. 32) STOP 7
63	if (e4 (d) .ne. 59) STOP 8
64	if (f5 () .ne. 45) STOP 9
65	if (e5 () .ne. 45) STOP 10
66	if (f6 () .ne. 47) STOP 11
67	if (e6 () .ne. 47) STOP 12
68	if (f7 () .ne. 163) STOP 13
69	if (e7 () .ne. 163) STOP 14
70	if (f8 () .ne. 115) STOP 15
71	if (e8 () .ne. 115) STOP 16
72	if (f9 () .ne. 119) STOP 17
73	if (e9 () .ne. 119) STOP 18
74	end
75