J3/17-127 To: J3 From: Malcolm Cohen Subject: Scope of function results Date: 2017 February 10 1. Introduction It has been pointed out that the entire contents of subclause 19.3.3 Function results, in 19.3 Local identifiers, in clause 19 Scope, association and definition, is completely redundant, not saying anything more than is already said in the first few sentences of paragraph 4 of subclause 15.6.2.2 Function subprogram ([331:29-32]). It does not say anything about the name of a function result being a local identifier, which one might have expected. Either this could be deleted, or trimmed and something interesting said about the scoping. Since 19.3.3 is referred to by 19.3.1p2, final bullet, it would seem better to enhance it. 2. Edits to 17-007 [515:17-19] 19.3.3 Function results, p1, replace the second sentence of the subclause "If there is no RESULT... RESULT clause.", with "A function result is either a variable or a procedure pointer, and thus the name of a function result is a local identifier of class (1)." {Delete the duplicative stuff about what name the function result has, and add a statement that it is a local variable.} ALTERNATIVE: [514:18] 19.3.1 Classes of local identifiers, p2, after "its defining subprogram" change cross-reference "(19.3.3)" to "(15.6.2.2)" (the title of 15.6.2.2 is "Function subprogram"). {Change the reference to where it arguably ought to be.} [515:16-19] 19.3.3 Function results, delete entire subclause. {Delete unnecessary redundancy.} ===END===