[flang-commits] [flang] [Flang] Allow reference of a function that returns a procedure pointer to be an actual argument corresponding to a procedure pointer dummy. (PR #82824)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Fri Feb 23 13:31:26 PST 2024
================
@@ -87,8 +87,7 @@ subroutine test1 ! 15.5.2.9(5)
call s02(p) ! ok
!ERROR: Actual procedure argument has interface incompatible with dummy argument 'p=': function results have distinct types: REAL(4) vs INTEGER(4)
call s02(ip)
- !ERROR: Actual argument associated with procedure pointer dummy argument 'p=' must be a pointer unless INTENT(IN)
- call s02(procptr())
+ call s02(procptr()) ! ok
----------------
klausler wrote:
There are NAG tests for this that would fail.
I don't see how an extension is justified here. If an application cannot use `INTENT(IN)`, then it's expecting to be passed a modifiable procedure pointer, and a function result should indeed be an error. If an application can use `INTENT(IN)`, then it should do so and avoid the issue.
https://github.com/llvm/llvm-project/pull/82824
More information about the flang-commits
mailing list