| ! { dg-do run } |
| ! Test assumed shape arrays in procedures with multiple entry points. |
| ! Arguments that aren't present in all entry points must be treated like |
| ! optional arguments. |
| module entry_4 |
| contains |
| subroutine foo(a) |
| integer, dimension(:) :: a |
| integer, dimension(:) :: b |
| a = (/1, 2/) |
| return |
| entry bar(b) |
| b = (/3, 4/) |
| end subroutine |
| end module |
| |
| program entry_4_prog |
| use entry_4 |
| integer :: a(2) |
| a = 0 |
| call foo(a) |
| if (any (a .ne. (/1, 2/))) call abort |
| call bar(a) |
| if (any (a .ne. (/3, 4/))) call abort |
| end program |