J3/16-180r2 To: J3 From: John Reid & Bill Long Subject: UTI 16 Date: 2016 June 07 Discussion ---------- It was intended that ALLOCATE, DEALLOCATE, and the synchronization statements continue to work on active images in the presence of failed images. This is in the hope that the user can arrange for the calculation to continue in this case. It is confusing to describe such executions as successful. The solution seems to be to describe these as erroneous but nevertheless to specify that when STAT_FAILED_IMAGE is returned the expected actions will have occurred on the active images. We also replace the paragraphs that define the effect of an error in the ALLOCATE and DEALLOCATE statements by a single paragraph for both, for consistency with the way the ALLOCATE and DEALLOCATE statements are described together in 6.7.4. Edits to J3/16-007r1 -------------------- [133:14-16] In 6.7.1.2 Execution of an ALLOCATE statement, delete the first two sentences of para 9. [135:2-4] In 6.7.3.1 Form of the DEALLOCATE statement, delete the first two sentences of para 3. [136:21+] In 6.7.4 STAT= specifier, para 2, delete UTI 16. [137:4] In 6.7.4 STAT= specifier, para 3, after the first sentence add "Otherwise, if a failed image is detected and no other error condition occurs, the allocations or deallocations shall be performed on all the active images of the current team and the STAT= specifier is assigned the value of the named constant STAT_FAILED_IMAGE in the intrinsic module ISO_FORTRAN_ENV." [137:6] In 6.7.4 STAT= specifier, para 3, at the end of the second sentence add "and STAT_FAILED_IMAGE". [137:6] In 6.7.4 STAT= specifier, para 3, at the start of the third sentence change "In either case" to "For an error condition for which the STAT= specifier is assigned a value other than STAT_FAILED_IMAGE". [137:12+] At the end of 6.7.4 STAT= specifier, before NOTE 6.25, add para "The set of error conditions for an ALLOCATE or DEALLOCATE statement is processor dependent. If an error condition occurs during execution of an ALLOCATE or DEALLOCATE statement that does not contain the STAT= specifier, error termination is initiated.