To: J3 J3/19-243 From: Malcolm Cohen Subject: Failed image detection Date: 2019-October-15 Reference: 19-181 1. Introduction Paper 19-181 contains five purported interpretation requests glommed into a single paper. This paper discusses the fourth of them. 2. The alleged problem From 19-181: QUESTION 4: In the definition of the FAILED_IMAGES intrinsic function, 16.9.77 p5 states: "If the executing image has previously executed an image control statement whose STAT= specifier assigned the value STAT_FAILED_IMAGE from the intrinsic module ISO_FORTRAN_ENV, or referenced a collective subroutine whose STAT argument was set to STAT_FAILED_IMAGE, at least one image in the set of images participating in that image control statement or collective subroutine reference shall be known to have failed." Should the list include the cases of a reference to the intrinsic IMAGE_STATUS that returned STAT_FAILED_IMAGE, an atomic subroutine with a STAT argument was set to STAT_FAILED_IMAGE, and an image selector with a STAT= specifier that was set to STAT_FAILED_IMAGE? ANSWER 4: Yes. An edit is provided. EDIT 4: In 16.9.77 FAILED_IMAGES ([TEAM, KIND]) p5, change "or referenced a collective subroutine whose STAT argument was set to STAT_FAILED_IMAGE, at least one image in the set of images participating in that image control statement or collective subroutine reference" to "referenced an atomic or a collective subroutine with a STAT argument that assigned the value STAT_FAILED_IMAGE, referenced an image selector with a STAT= specifier that assigned the value STAT_FAILED_IMAGE, or referenced the intrinsic IMAGE_STATUS with value STAT_FAILED_IMAGE, at least one image in the set of images involved in that execution or reference" so that the sentence reads: "If the executing image has previously executed an image control statement whose STAT= specifier assigned the value STAT_FAILED_IMAGE from the intrinsic module ISO_FORTRAN_ENV, referenced an atomic or a collective subroutine with a STAT argument that assigned the value STAT_FAILED_IMAGE, referenced an image selector with a STAT= specifier that assigned the value STAT_FAILED_IMAGE, or referenced the intrinsic IMAGE_STATUS with value STAT_FAILED_IMAGE, at least one image in the set of images involved in that execution or reference shall be known to have failed." 2. Response from /INTERP Firstly, it is noted that the standard is currently unambiguous and not contradictory. Secondly, this kind of item is frequently left up to "Quality of Implementation". Thirdly, the situations in question are situations with precisely one image that might have failed, not a set of images. Therefore, at this time, /INTERP politely declines to accept this request at this precise point in time. Instead, /HPC is asked to consider whether, in their opinion, it is acceptable to leave this up to Quality of Implementation, or whether the standard should require this "good" behaviour. If /HPC considers that this would be good as a correction to the current edition of the standard, /INTERP will process it accordingly. However, I will note that /INTERP is highly likely to propose a different edit, i.e. one that does not lead to a sentence longer than my arm. If /HPC considers that it is not necessary to adopt the proposed changes immediately, they are encouraged to consider whether it should be processed as a normal "new feature". ===END===