xref: /llvm-project/flang/test/Semantics/call34.f90 (revision 191d48723f8b853a6ad65532c173c67155cbe606)
1*191d4872SPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic -Werror
2fee3f0bdSPeter Klauslermodule m
3fee3f0bdSPeter Klausler contains
4fee3f0bdSPeter Klausler  subroutine foo(a)
5fee3f0bdSPeter Klausler    real, intent(in), target :: a(:)
6fee3f0bdSPeter Klausler  end subroutine
7fee3f0bdSPeter Klauslerend module
8fee3f0bdSPeter Klausler
9fee3f0bdSPeter Klauslerprogram test
10fee3f0bdSPeter Klausler  use m
11fee3f0bdSPeter Klausler  real, target :: a(1)
12fee3f0bdSPeter Klausler  real :: b(1)
13fee3f0bdSPeter Klausler  call foo(a) ! ok
14fee3f0bdSPeter Klausler  !WARNING: Any pointer associated with TARGET dummy argument 'a=' during this call must not be used afterwards, as 'b' is not a target
15fee3f0bdSPeter Klausler  call foo(b)
16fee3f0bdSPeter Klausler  !WARNING: Any pointer associated with TARGET dummy argument 'a=' during this call will not be associated with the value of '(a)' afterwards
17fee3f0bdSPeter Klausler  call foo((a))
18fee3f0bdSPeter Klausler  !WARNING: Any pointer associated with TARGET dummy argument 'a=' during this call will not be associated with the value of 'a([INTEGER(8)::1_8])' afterwards
19fee3f0bdSPeter Klausler  call foo(a([1]))
20fee3f0bdSPeter Klausler  !ERROR: Scalar actual argument may not be associated with assumed-shape dummy argument 'a='
21fee3f0bdSPeter Klausler  call foo(a(1))
22fee3f0bdSPeter Klauslerend
23