J3/11-206 To: J3 From: Malcolm Cohen Subject: Editorial corrections for the next revision Date: 2011 June 23 1. Introduction. This paper contains some suggestions for editorial improvements. 2. Technical Discussion Consider procedure pointer assignment, in particular P => Q for a procedure pointer P and a procedure Q, when both are functions. 7.2.2.4 paragraph 6 says "If the pointer object is a function with an implicit interface, the pointer target shall be a function with the same type; corresponding type parameters shall either both be deferred or both have the same value." This is confusing, because deferred type parameters are only permitted for allocatable and pointer results, and paragraph 4 says "If the characteristics of the pointer object or the pointer target are such that an explicit interface is required, both the pointer object and the pointer target shall have an explicit interface." Since having an allocatable or pointer result requires an explicit interface, it is impossible for the pointer object to have an implicit interface when either the pointer object or the target have a deferred type parameter. Note that although the other paragraphs in subclause 7.2.2.4 could be usefully reworded, that would be a more ambitious undertaking. For now, let's just remove the prohibition of an already-impossible thing. 3. Edits [137:5] Split "definedoperation" into two words. {Missing space.} [160:15] 7.2.2.4p6, delete "either both be deferred or both", {Impossible situation, see discussion above.} This makes that whole paragraph read "If the pointer object is a function with an implicit interface, the pointer target shall be a function with the same type; corresponding type parameters shall have the same value." [297:5+2] Delete unnecessary blank line at beginning of NOTE 12.29. {We don't have that for other notes.} [297:5+13,5+33] After "REAL A(1000)", change "[:]" to "[*]", twice. {Wrong syntax for nonallocatable coarray declaration.} ===END===