1 subroutine f1 (n, *, i) 2 integer n, i 3 if (i .ne. 42) call abort () 4 entry e1 (n, *) 5 if (n .eq. 1) return 1 6 if (n .eq. 2) return 7 return 8 entry e2 (n, i, *, *, *) 9 if (i .ne. 46) call abort () 10 if (n .ge. 4) return 11 return n 12 entry e3 (n, i) 13 if ((i .ne. 48) .or. (n .ne. 61)) call abort () 14 end subroutine 15 16 program alt_return 17 implicit none 18 19 call f1 (1, *10, 42) 2020 continue 21 call abort () 2210 continue 23 call f1 (2, *20, 42) 24 call f1 (3, *20, 42) 25 call e1 (2, *20) 26 call e1 (1, *30) 27 call abort () 2830 continue 29 call e2 (1, 46, *40, *20, *20) 30 call abort () 3140 continue 32 call e2 (2, 46, *20, *50, *20) 33 call abort () 3450 continue 35 call e2 (3, 46, *20, *20, *60) 36 call abort () 3760 continue 38 call e2 (4, 46, *20, *20, *20) 39 call e3 (61, 48) 40 end program 41