| ! { dg-do run } |
| ! |
| ! PR fortran/18918 |
| ! |
| ! Check whether registering coarrays works |
| ! |
| module m |
| integer :: a(1)[*] = 7 |
| end module m |
| |
| use m |
| if (any (a /= 7)) call abort() |
| a = 88 |
| if (any (a /= 88)) call abort() |
| |
| block |
| integer :: b[*] = 8494 |
| if (b /= 8494) call abort() |
| end block |
| |
| if (any (a /= 88)) call abort() |
| call test () |
| end |
| |
| subroutine test() |
| real :: z[*] = sqrt(2.0) |
| if (z /= sqrt(2.0)) call abort() |
| call sub1() |
| contains |
| subroutine sub1 |
| real :: r[4,*] = -1 |
| if (r /= -1) call abort |
| r = 10 |
| if (r /= 10) call abort |
| end subroutine sub1 |
| |
| subroutine uncalled() |
| integer :: not_refed[2:*] = 784 |
| if (not_refed /= 784) call abort() |
| end subroutine uncalled |
| end subroutine test |