| ! RUN: %S/test_errors.sh %s %t %f18 |
| subroutine s1() |
| character(10) str |
| character(10) str1 |
| !ERROR: Cannot reference function 'str' as data |
| print *, str(1:9), str(7) |
| block |
| character(10) str2 |
| character(10) str3 |
| !ERROR: Cannot reference function 'str1' as data |
| print *, str1(1:9), str1(7) |
| !ERROR: 'str2' is not an array |
| print *, str2(1:9), str2(7) |
| !ERROR: Cannot reference function 'str3' as data |
| print *, str3(7), str3(1:9) |
| end block |
| end subroutine s1 |
| |
| subroutine s2() |
| character(10) func |
| !ERROR: Cannot reference function 'func' as data |
| print *, func(7), func(1:9) |
| end subroutine s2 |
| |
| subroutine s3() |
| real(8) :: func |
| !ERROR: Cannot reference function 'func' as data |
| print *, func(7), func(1:6) |
| end subroutine s3 |
| |
| subroutine s4() |
| real(8) :: local |
| real(8) :: local1 |
| !ERROR: Cannot reference function 'local' as data |
| print *, local(1:6), local(7) |
| !ERROR: Cannot reference function 'local1' as data |
| print *, local1(7), local1(1:6) |
| end subroutine s4 |
| |
| subroutine s5(arg) |
| integer :: iVar |
| external :: arg |
| iVar = loc(arg) |
| end subroutine s5 |