| ! RUN: %python %S/test_errors.py %s %flang_fc1 |
| module m |
| type dt |
| real a |
| end type |
| contains |
| subroutine s(a,b,p,unl) |
| type(dt), optional :: a(:), b |
| procedure(sin), optional :: p |
| type(*), optional :: unl |
| print *, present(a) ! ok |
| print *, present(p) ! ok |
| print *, present(unl) ! ok |
| !ERROR: Argument of PRESENT() must be the name of a whole OPTIONAL dummy argument |
| print *, present(a(1)) |
| !ERROR: Argument of PRESENT() must be the name of a whole OPTIONAL dummy argument |
| print *, present(b%a) |
| !ERROR: Argument of PRESENT() must be the name of a whole OPTIONAL dummy argument |
| print *, present(a(1)%a) |
| end |
| end |