(j3.2006) Clarify F08/0147 ?
Cohen Malcolm
malcolm
Thu Nov 12 03:17:17 EST 2015
Hi Bill,
Your understanding (1) and (2) is the same as mine. For (3), I would word
it as
"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)."
Cheers,
-----Original Message-----
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 da_module
Type t
Real c
End Type
Interface Assignment(=)
Module Procedure edasgn
End Interface
Contains
Elemental Subroutine edasgn(a,b)
Class(t),Intent(Out) :: a
Class(t),Intent(In) :: b
a%c = -b%c
End Subroutine
End Module
Program edatest
Call test(10,10,13)
Contains
Subroutine test(n,n2,m)
Use da_module
Type(t) :: x(n),z(m)
Type(t),Allocatable :: y(:)
x%c = [ (i,i=1,n) ]
z%c = [ (i,i=1,m) ]
Allocate(y(n2),Source=t(0))
y = x ! A
Print 1,y
1 Format(*(1X,F0.1,:))
y = z ! B
Print 1,y
End Subroutine
End Program
With the change made by the edits, it appears that
1) The assignment A is defined assignment and is conforming (from first
edit).
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.
Cheers,
Bill
Bill Long
longb at cray.com
Fortran Technical Support & voice:
651-605-9024
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
http://mailman.j3-fortran.org/mailman/listinfo/j3
________________________________________________________________________
This e-mail has been scanned for all viruses by Star.
________________________________________________________________________
--
........................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3
mailing list