To: J3 J3/07-119 Subject: Comments on clause 15 From: Van Snyder Date: 2007 January 22 1 Edits Edits refer to 07-007. Page and line numbers are displayed in the margin. Absent other instructions, a page and line number or line number range implies all of the indicated text is to be replaced by associated text, while a page and line number followed by + (-) indicates that associated text is to be inserted after (before) the indicated line. Remarks are noted in the margin, or appear between [ and ] in the text. [467:1-17] --------------------------------------------------------------- [Editor: "named . . . C NULL FUNPTR" => "the named constants C NULL PTR and C NULL FUNPTR and those with names listed on the first column of Table 15.1 and the second column of Table 15.2, and the types C PTR and C FUNPTR".] -------------------------------------------------------------------------- Editor: Exdent the paragraphs at the following places: 470:18-471:1 471:2-5 471:15 471:22-24 471:25-27 471:23 472:1-3 [474:Table 15.2] --------------------------------------------------------- [Elsewhere we say "1.2.3 of the C International Standard" instead of the way it's done here. Editor: Insert "6.2.5, 7.17 and 7.18.1 of " after "in", delete ", subclauses. . . ."] [475:Note 15.13] --------------------------------------------------------- [Editor: "procedure" => "pointer", insert "the value of " after "but", "hold" => "be".] [477:Note 15.22] --------------------------------------------------------- [Editor: Insert a blank probably "\ ") before "does".] [479:6] ------------------------------------------------------------------ [Presumably other C functions can have variables associated with a C variable that has external linkage in their usual way. Editor: Insert "all the Fortran program units of " after "within".] 2 Companion processor isn't necessarily C [467:26] ----------------------------------------------------------------- [Editor: Delete "C".] [Editor: Replace "C" by "companion" at the following places] 467:27 467:29 467:30 467:31 468:1+2 468:9 468:10 472:1 472:4 474:Note 15.11 (twice) 3 Descriptions in active voice or as simple declarations Most (but not all) of the descriptions in clause 13 are either simple declarations or are in active voice. Make clause 14 consistently one or the other, i.e., eliminate passive voice, preferentially in favor of similar declarations. [469:6] ------------------------------------------------------------------ [Editor: "Indicates" => "Indicate" and "indicates" => "indicate".] [469:19] ----------------------------------------------------------------- [Editor: "Associates" => "Associate" and "specifies" => "specify".] [470:6] ------------------------------------------------------------------ [Editor: "Associates" => "Associate".] [470:12] ----------------------------------------------------------------- [Editor: "Returns the" => "The".] [471:29] ----------------------------------------------------------------- [Editor: "Returns the" => "The".] 4 If and only if Several function result descriptions use "if and only if " while others use "true if . . . and false otherwise" or a variation thereof. Settle consistently on "if and only if ". [469:14, 16]-------------------------------------------------------------- Editor: Replace "if " by "if and only if " twice. [469:14] ----------------------------------------------------------------- [Editor: Delete "and true otherwise".] [469:15] ----------------------------------------------------------------- [It's not clear to what "Otherwise" refers. Editor: "Otherwise" => "If C PTR is not a C null pointer".] [469:17] ----------------------------------------------------------------- [Editor: Delete ", and false otherwise".] 5 Questions without answers [468:22 ff ] ------------------------------------------------------------- Are the procedures in ISO C BINDING pure? [474:1 ff ] -------------------------------------------------------------- Are the types C PTR and C FUNPTR extensible? Do they have any type parameters? [476:2-3] ---------------------------------------------------------------- Can an interoperable scalar be a co-array? [480:29-30] -------------------------------------------------------------- If both Fortran procedures and C functions perform input/output using direct access read and write operations, are the results processor dependent?