To: J3 J3/21-109 From: Bill Long Subject: SPLIT Argument descriptions Date: 2021-February-17 Reference: 21-007 Discussion: ----------- In the 16.9.194 SPLIT intrinsic function, the descriptions of the arguments TOKENS, SEPARATOR, FIRST, and LAST include that the dummy arguments are INTENT(OUT) and allocatable. This implies that they are allocated during execution of the SPLIT procedure. In 15.5.2.6 Allocatable dummy variables, paragraph 4 we have "If the actual argument is a coindexed object, the dummy argument shall have the INTENT (IN) attribute." which effectively prohibits coindexed actual arguments. If the actual argument is a coarray, the internal ALLOCATE in SPLIT effectively turns the SPLIT into a collective routine. It is likely that neither of the se complications was intended. The original model of SPLIT was from a part of the standard that predated coarrays. It is likely that the specification of these arguments to SPLIT simply overlooked the possibility of coarray actual arguments, and it would be better to just prohibit coarray and coindexed actual arguments corresponding to TOKENS, SEPARATOR, FIRST and LAST. This limitation is unlikely to limit the expected use of the routines. Edits are provided to make this prohibition explicit. Edits to 21-007 ---------------- [432:33-34] In 16.9.194 SPLIT, in the description of the TOKENS argument change the second sentence: "It is an INTENT(OUT) argument." to "It is an INTENT(OUT) argument. The corresponding actual argument shall not be a coarray or a coindexed object." [433:4-5] In 16.9.194 SPLIT, in the description of the SEPARATOR argument change the second sentence: "It is an INTENT(OUT) argument." to "It is an INTENT(OUT) argument. The corresponding actual argument shall not be a coarray or a coindexed object." [433:9] In 16.9.194 SPLIT, in the description of the FIRST argument change the second sentence: "It is an INTENT(OUT) argument." to "It is an INTENT(OUT) argument. The corresponding actual argument shall not be a coarray or a coindexed object." [433:15] In 16.9.194 SPLIT, in the description of the LAST argument change the second sentence: "It is an INTENT(OUT) argument." to "It is an INTENT(OUT) argument. The corresponding actual argument shall not be a coarray or a coindexed object."