| ! Procedure to test module procedures returning arrays. |
| ! The array spec only gets applied to the result variable, not the function |
| ! itself. As a result we missed it during resolution, and used the wrong |
| ! calling convention (functions returning arrays must always have explicit |
| ! interfaces). |
| module retarray_2 |
| contains |
| function z(a) result (aout) |
| integer, dimension(4) :: aout,a |
| aout = a |
| end function z |
| end module retarray_2 |
| |
| program retarray |
| use retarray_2 |
| integer, dimension(4) :: b, a=(/1,2,3,4/) |
| b = z(a) |
| if (any (b .ne. (/1, 2, 3, 4/))) STOP 1 |
| end |
| |