11-202r2 To: J3 From: Malcolm Cohen/John Reid Subject: Asynchronous communication Date: 2011 June 28 Reference: WG5/N1847, WG5/N1854, 11-172, 11-183 1. Discussion See 11-202. 2. Differences from 11-202 Changed "termination" to "completion". Changed duration of pending asynchronous communication status to be from the initiation procedure until the completion procedure, this excludes C routines executed before the initiation and after the completion. 3. Edits to WG5/N1854 Note that the text for each edit is delimited by `` and '', and the " character is used internally for quoting in the TR. [4:28+] After NOTE 2.4, add new section ``2.4 ASYNCHRONOUS attribute 2.4.1 Introduction The ASYNCHRONOUS attribute is extended to apply to variables that are used for asynchronous communication initiated and completed by procedures written in C. 2.4.2 Asynchronous communication Asynchronous communication for a Fortran variable occurs through the action of procedures defined by means other than Fortran. It is initiated by execution of an asynchronous communication initiation procedure and completed by execution of an asynchronous communication completion procedure. Between the execution of the initiation and completion procedures, any variable of which any part is associated with any part of the asynchronous communication variable is a pending communication affector. Whether a procedure is an asynchronous communication initiation or completion procedure is processor dependent. Asynchronous communication is either input communication or output communication. For input communication, a pending communication affector shall not be referenced, become defined, become undefined, become associated with a dummy argument that has the VALUE attribute, or have its pointer association status changed. For output communication, a pending communication affector shall not be redefined, become undefined, or have its pointer association status changed.'' [24:23+] Add new edit ``In 5.3.4 ASYNCHRONOUS attribute, at the end of paragraph 1, insert "or asynchronous communication (15.5.4)" and at the end of paragraph 2, insert "or a pending communication affector (15.5.4)".'' [28:37+] Add new edit ``Insert subclause 2.4.2 of this Technical Report as subclause 15.5.4 at the end of the existing subclause 15.5.'' [28:37++] Insert new subclause ``6.9a Edits to annex A Insert new bullet point at the end of the list, changing the previously-final full stop to a semicolon, "- whether a procedure defined by means other than Fortran is an asynchronous communication initiation or completion procedure.'' ===END===