(j3.2006) Clarify F08/0147 ?
Thu Nov 12 03:17:17 EST 2015
Your understanding (1) and (2) is the same as mine. For (3), I would word
"For a defined assignment statement, auto-reallocation of allocatables
does not occur, as that is only done by an intrinsic assignment statement."
How about adding the following extra paragraph to the answer?
"With these edits, both of the statements A and B are defined assignment
statements. Auto-reallocation of allocatable variables only occurs as part
of an intrinsic assignment statement, so while statement A is conforming
(because the shapes are the same), statement B is not conforming (because
the shapes differ)."
From: Bill Long
Sent: Wednesday, November 4, 2015 7:08 AM
To: fortran standards email list for J3
Subject: (j3.2006) Clarify F08/0147 ?
In working through the test case in Interp F08/0147, I think I understand
the change, but the words I was looking for are not part of the answer. The
test case is:
Module Procedure edasgn
Elemental Subroutine edasgn(a,b)
Class(t),Intent(Out) :: a
Class(t),Intent(In) :: b
a%c = -b%c
Type(t) :: x(n),z(m)
Type(t),Allocatable :: y(:)
x%c = [ (i,i=1,n) ]
z%c = [ (i,i=1,m) ]
y = x ! A
y = z ! B
With the change made by the edits, it appears that
1) The assignment A is defined assignment and is conforming (from first
2) The assignment B is not standard conforming, since the shapes are not the
same (from second edit).
3) Effectively, auto-reallcation on assignment will not occur if the
assignment is defined assignment and the subroutine is elemental (since the
shapes already agree).
All of which is fine with me.
longb at cray.com
Fortran Technical Support & voice:
Bioinformatics Software Development fax: 651-605-9142
Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN 55101
J3 mailing list
J3 at mailman.j3-fortran.org
This e-mail has been scanned for all viruses by Star.
........................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3