J3/15-238r1 To: J3 From: Dan Nagle & Malcolm Cohen Subject: comments on clause five Date: 2015 October 12 This is mostly typos and similar, perhaps this paper can be passed directly to the Editor. Edits: [99:23] 5.5.9 EXTERNAL attribute, p1, small font "or block data subprogram" {block data is obsolescent} [100:8-9] 5.5.10 INTENT attribute, C547, replace entire constraint "An entity ... LOCK_TYPE ... of this type." with "An entity with the INTENT (OUT) attribute shall not be of, or have a subcomponent of, type EVENT_TYPE (ref) or LOCK_TYPE (13.9.2.17) from the intrinsic module ISO_FORTRAN_ENV." ALTERNATIVE: "An entity with the INTENT (OUT) attribute shall not be of type EVENT_TYPE (ref) or LOCK_TYPE (13.9.2.17) from the intrinsic module ISO_FORTRAN_ENV. An entity with the INTENT (OUT) attribute shall not have a subcomponent of type EVENT_TYPE or LOCK_TYPE from the intrinsic module ISO_FORTRAN_ENV." [104:10] Move to [104:9+]. {i.e. before the intervening note.} {an example for implicit none external ?} [114:1-] after Note 5.39, insert Note 5.39+ "In the following example, SUBROUTINE EXAMPLE (X, Y) IMPLICIT NONE (EXTERNAL) REAL, EXTERNAL :: G REAL :: X, Y X = F(Y) ! Invalid: F lacks the EXTERNAL attribute. Y = G(X) ! Valid: G has the EXTERNAL attribute. END SUBROUTINE the referenced function F needs to have the EXTERNAL attribute (\ref{D5:EXTERNAL attribute})." Rejected edits: [92:17] "space" is used elsewhere, and it's meaning is clear. [95:35-36] vs. [95:42] ? On examination, there is no problem. [98:31+] Already adequately covered by [98:29-30] and UBOUND itself. [99:1] Yes, R524 is right. [104:11-] "end up at" is correct (we are following a chain of pointers to the end) but "encounter" is misleading (we are only talking about the end, not the middle). [105:36-37] what is "If an identifier is accessed from another module and also declared locally, it has the default accessibility of a local identifier." {what is this trying to say?} ANSWER: Exactly what it says. Q. If it is accessed via use, how did I declare it locally? ANSWER: For example, to have the ASYNCHRONOUS or VOLATILE attribute, or put it in a NAMELIST. In these cases the identifier will have the local accessibility, and not any default accessibility specified for entities from its originating module.