J3/02-234r1 To: J3 Subject: Improving corrigendum 2 (including issue 370) From: Malcolm Cohen. Date: 2002-08-12 1. Introduction Some errors and inconsistencies have crept in in the process of integrating Corrigendum 2. This paper attempts to fix them. 2. Interp F95/000094. Apart from general readability, which the editor complained about, the edit is incomplete for F2002 because F2002 has parameterised derived types, and thus other non-kind parameters than simply the character length one. 3. Interp F90/000209. Looking at interp F90/209, we see that the intent of this interp is to add some clarifying text saying that STOP could not be executed during execution of an i/o statement. But the inserted text does not cover procedures executed via uddtio. Also, the rest of the restriction in this section appears to be adequately covered by the next section. The easy fix for this is to remove the inserted section and put the STOP prohibition into the next section. 4. Interp F95/000009 This interp added some clarifying text about TRANSFER to the F95 standard, but the text was not added to F2002 by 02-204r1 because the section to which it was added had been deleted. However, the subject matter is still germane, and there is an appropriate place to put it - in the description of TRANSFER itself. 5. Interp JP-08 (issue 370) As the editor noted, this needs to be completely rewritten for F2002 because - it needs to restrict itself to named variables, not components or ALLOCATE or structure constructors - it needs to cover parameterised derived types Additionally (and these were true in F95, but our BNF usage has changed since then because of PDTs): - it needs to cover implicitly declared entities - it needs to cover character length overrides (e.g. "CHARACTER*(N) X,Y*M"); referring to the actual type parameter values, not the syntax, might be appropriate here, but that is not the approach taken by this paper. Also, the phrase "at the entry of" should be replaced by "on entry to". The latter phrase is widely used throughout the standard, the former only this once. 6. Another (nearby) infelicity While looking at JP-08/issue 370, /DATA noticed that the character length override case had also been omitted from the previous requirement. So we propose adding it in; a character string in a main program needs to have fixed length even if it is declared via an override. 7. Edits to 02-007r2 [72:21] Change "or" to ", in". [72:22] Insert ", or in a in an " after "parameter". {Another infelicity.} [72:26-27] Replace "If ... affected" by "If a type parameter in a or in a in an is defined by an expression that is not an initialization expression, the type parameter value is established on entry to the procedure and is not affected" Also, remove issue 370. {JP-08.} [129:21-23] Replace with "(7) A reference to the transformational intrinsic function NULL that does not have an argument with a type parameter that is assumed or is defined by an expression that is not an initialization expression," {NOTE TO EDITOR: This is item 7 before paper 248 swaps them.} {F95/000094.} [218:25-ENDOFPAGE] Delete poorly worded restriction. [219:25+] Add "A STOP statement shall not be executed during execution of an input/output statement." {F90/000209.} [219:1] Change first letter "n" to "ns". {Fix number agreement.} [349:29] Append "If it is a variable, it need not be defined." {F95/000009.}