(j3.2006) Undefinition and DO CONCURRENT
Malcolm Cohen
malcolm
Wed Jun 18 21:36:20 EDT 2014
Hi Van,
There is no iteration which "defines" A - each iteration partially-defines A,
but that does not "define A", so I don't agree with your conclusion.
And "scalar variable" would not help anyway, considering the example
TYPE T
INTEGER A(10)
END TYPE
TYPE(T) X
DO CONCURRENT (I=1:10); X%A(I) = I; END DO
at the end of the loop the scalar variable X has become defined, even though
there is no iteration that in itself "defines" X. This is the same situation
you are complaining about with the array A.
I think that adding "scalar" makes the wording worse actually, as in more
actively misleading.
So I think this is ok as is.
Cheers,
-----Original Message-----
From: Van Snyder
Date: ?? 26?6?19? 10:00
To: j3
Subject: (j3.2006) Undefinition and DO CONCURRENT
According to 16.6.6p1(17):
When a DO CONCURRENT construct terminates, a variable that is
defined or becomes undefined during more than one iteration of
the construct becomes undefined.
integer :: I
integer :: A(10)
do concurrent ( i = 1:size(a) )
a(i) = i
end do
causes A to become undefined.
I think "variable" needs to be "scalar variable".
Does this need an interp, or can we just repair it in the course of
revision?
_______________________________________________
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