1 ! Test alternate entry points for functions when the result types
2 ! of all entry points match
4 character*(*) function f1 (str, i, j)
5 character str*(*), e1*(*), e2*(*)
16 character*5 function f3 ()
17 character e3*(*), e4*(*)
31 character f1*16, e1*16, e2*16, str*16, ret*16
32 character f3*5, e3*5, e4*5
38 if ((i .ne. 2) .or. (j .ne. 6)) call abort ()
39 if (ret .ne. 'BCDEF') call abort ()
41 if ((i .ne. 3) .or. (j .ne. 5)) call abort ()
42 if (ret .ne. 'CDE') call abort ()
44 if ((i .ne. 3) .or. (j .ne. 4)) call abort ()
45 if (ret .ne. 'CD') call abort ()
46 if (f3 () .ne. 'ABCDE') call abort ()
47 if (e3 (1) .ne. 'abcde') call abort ()
48 if (e4 (1) .ne. 'abcde') call abort ()
49 if (e3 (0) .ne. 'UVWXY') call abort ()
50 if (e4 (0) .ne. 'UVWXY') call abort ()