(j3.2006) edit for interp F08/0144

Robert Corbett robert.corbett
Fri Jan 8 02:52:55 EST 2016

On 01/07/16 20:55, Cohen Malcolm wrote:
> The edit provided for F08/0144 does not say anything about child data
> transfer statements, nor should it, considering that is not the question
> being asked by F08/0144.

The question asked in the title of F08/0144 is

       Is nonadvancing I/O allowed during execution of DO CONCURRENT?

The answer given is

       It was intended that nonadvancing input/output not be
       permitted within a DO CONCURRENT construct.

The final sentence of Subclause states

       A formatted child input/output statement is a
       nonadvancing input/output statement, and any
       ADVANCE= specifier is ignored.

Therefore, either the answer is wrong or the edit is wrong.
If the answer were

       It was intended that nonchild nonadvancing
       input/output not be permitted within a
       DO CONCURRENT construct.

then the proposed edit would be adequate.

I recognize that there are other problems with child data
transfer statements and DO CONCURRENT that are not addressed

Robert Corbett

> This would seem to be an additional question.
> Also, since one cannot tell at compile time whether a data transfer
> statement is a child, any thought towards the prohibition of this would need
> a different kind of fix to the one in F08/0144.  We could mandate raising an
> error condition, or we could simply say it is not allowed and leave it up to
> the implementation to make mincemeat of the user's program.  Sounds like an
> interesting topic for the next meeting.
> Cheers,
> -----Original Message-----
> From: Robert Corbett
> Sent: Tuesday, January 5, 2016 12:13 PM
> To: j3
> Subject: (j3.2006) edit for interp F08/0144
> The edit provided for interp F08/0144 appears to allow child
> data transfer statements to be executed within a DO CONCURRENT
> construct.  Did the committee intend to allow such usage?
> An example would be if a procedure invoked by user-defined
> derived-type editing contained a DO CONCURRENT loop that
> executed a child data transfer statement on some or all of
> its iterations.
> User-defined derived-type editing hurts my brain enough
> without the added complexity of interactions with
> Robert Corbett
> _______________________________________________
> 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.
> ________________________________________________________________________

More information about the J3 mailing list