1! RUN: %S/test_errors.sh %s %t %flang_fc1
2! REQUIRES: shell
3! Ensure that references to functions that return pointers can serve as
4! "variables" in actual arguments.  All of these uses are conforming and
5! no errors should be reported.
6module m
7  integer, target :: x = 1
8 contains
9  function get() result(p)
10    integer, pointer :: p
11    p => x
12  end function get
13  subroutine increment(n)
14    integer, intent(inout) :: n
15    n = n + 1
16  end subroutine increment
17end module m
18
19use m
20integer, pointer :: q
21get() = 2
22call increment(get())
23q => get()
24read(*) get()
25open(file='file',newunit=get())
26allocate(q,stat=get())
27end
28