Am 10.08.22 um 13:12 schrieb Thomas Koenig:
> FortranFan <pare...@gmail.com
>> On Tuesday, August 9, 2022 at 10:53:00 AM UTC-4, Thomas Koenig wrote:
>> At first glance at the code (I did not copy and paste it to try
>> it with Intel Fortran), the following in the standard appears
>> applicable, "A nonpointer, nonallocatable object that is not a
>> dummy argument or function result is finalized immediately before it
>> would become undefined due to execution of a RETURN or END statement
>> (19.6.6, item (3))."
> I saw that, but it did not seem to apply due to the definition of a
> function result in 220.127.116.11
: "A data entity that is the result of the
> execution of a function reference is called the function result."
I would say that 18.104.22.168.7 applies (a function result is an intent(out)
dummy argument of a procedure), 22.214.171.124.3 explicitly excludes function
"When a procedure is invoked, a nonpointer, nonallocatable, INTENT (OUT)
dummy argument of that procedure is finalized before it becomes undefined."
and then 126.96.36.199 c) applies:
"When a procedure is invoked an actual argument corresponding to a dummy
argument with INTENT (OUT) becomes undefined except for" [....any
nonpointer default-initialized subcomponents of the argument (doesn't
An actual argument R1524 is one
entity (R1524) that appears in a procedure reference,
"appearance of a procedure designator, operator symbol, or assignment
symbol in a context requiring execution of the procedure at that point
during execution; or occurrence of defined input/output (13.7.6) or
derived-type finalization (188.8.131.52)"
> It is also strange because the object that is returned does
> not become undefined due to RETURN or END. Rather it becomes
> inaccessible (and could be defined to become undefined) once the
> assignment is complete.
> I am more than happy with nagfor's and xlf's behavior, because it
> certainly is the right thing to do, but I have not yet to find
> a justification for it in the standard.
> Also, I do not see a change in 22-007r1.
> (And taken note 1 to 184.108.40.206 into account, it would make no sense
> _not_ to finalize).