xref: /llvm-project/flang/test/Semantics/definable04.f90 (revision 30d932305567e7f3d9018db3fd25060ae5c16cd5)
1*30d93230SPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1
2*30d93230SPeter Klauslermodule m
3*30d93230SPeter Klausler  integer, target :: n
4*30d93230SPeter Klausler contains
5*30d93230SPeter Klausler  function ptr()
6*30d93230SPeter Klausler    integer, pointer :: ptr
7*30d93230SPeter Klausler    ptr => n
8*30d93230SPeter Klausler  end
9*30d93230SPeter Klausler  subroutine s1(p)
10*30d93230SPeter Klausler    integer, pointer, intent(in) :: p
11*30d93230SPeter Klausler  end
12*30d93230SPeter Klausler  subroutine s2(p)
13*30d93230SPeter Klausler    integer, pointer, intent(in out) :: p
14*30d93230SPeter Klausler  end
15*30d93230SPeter Klauslerend
16*30d93230SPeter Klausler
17*30d93230SPeter Klauslerprogram test
18*30d93230SPeter Klausler  use m
19*30d93230SPeter Klausler  integer, pointer :: p
20*30d93230SPeter Klausler  p => ptr() ! ok
21*30d93230SPeter Klausler  ptr() = 1 ! ok
22*30d93230SPeter Klausler  call s1(ptr()) ! ok
23*30d93230SPeter Klausler  call s1(null()) ! ok
24*30d93230SPeter Klausler  !ERROR: Actual argument associated with INTENT(IN OUT) dummy argument 'p=' is not definable
25*30d93230SPeter Klausler  !BECAUSE: 'ptr()' is not a definable pointer
26*30d93230SPeter Klausler  call s2(ptr())
27*30d93230SPeter Klauslerend
28