11-153r1 To: J3 From: Bill Long Subject: Changes to N1838 Date: 2011 March 3 Reference: N1838 This document records the changes made to the N1838.pdf draft of TR 29113 that resulted in document 11-154.pdf (to become N1845). Status of Unresolved Technical Issues in N1838: ---------------------------------------------- TR1 - removed by 11-111r2. TR2 - removed by 11-113r2. TR3 - removed by 11-113r2. TR4 - removed by 11-114r2. TR5 - removed by 11-115r1. TR6 - removed by 11-108r2. TR7 - removed by 11-144r3. TR8 - removed by 11-116r1. TR9 - removed by 11-117r2. TR10 - removed by 11-109r2. TR11 - removed by 11-118r2. TR12 - removed by 11-119r2. TR13 - removed by 11-120r2. TR14 - removed by 11-121r3. New Unresolved Technical Issues in 11-154: ------------------------------------------ TR15 - Wording issues with the description of the formal parameters to the CFI_setpointer function. Added by 11-144r3. TR16 - Questions about the selection of the capabilities of the functions used to manipulate descriptors. Added by 11-144r3. TR17 - Should restrictions on assumed-type variables be a constraint? Added by 11-146r1. TR18 - Should restrictions on assumed-rank variables be a constraint? Added by 11-146r1. TR19 - Assumed-rank is neither a scalar nor an array, so there are issues with the description of the RANK intrinsic, and general terminology issues with assumed-rank. Added by 11-146r1. TR20 - The combination of TYPE(*) and ALLOCATABLE was disallowed by 11-111r2. However, the example in A.1.3 seems to rely on this being allowed. Papers: ------- Disposition of edits affecting N1838.pdf in papers passed at J3 meeting 194: 11-103r2 Near the end of the new A.2.1, change the "//" style comments in C to the "/* ... */ style for consistency with the other examples. Otherwise, done. 11-104r1 (done) Added edit: [9:8-9] remove reference to CFI_bounds_t {edit overlooked in removing the bounds arrays} In edit for [15:24] changed "CFI+index" to "CFI_index" {typo in the edit in 11-104r1} 11-105r1 (done) 11-106r2 (done) 11-108r2 (done) 11-109r2 (done) 11-111r2 (done) 11-113r2 The edit for [9:30} does not include the "being described" of the current text in the text to be replaced. However, the replacement text ends with a full stop. This is inconsistent. I opted to delete the "being described" text at the end of the sentence. In the edit for [9:30], the replacement text begins "if an object corresponds", whereas the other member descriptions refer to "the object". Changed "an" to "the". Also capitalized the initial "if" to parallel the base_addr text above, and added a comma after "otherwise" Otherwise, done. 11-115r1 (done) 11-116r1 (done) 11-117r2 (done) 11-118r2 (done) 11-119r2 (done) 11-120r2 (done) 11-121r3 (done) The text at [9:13-14] also omitted mention of assumed character length. Fixed that, using wording parallel to that used at the beginning of 5.2.6 Functions. 11-122r4 (done) Added the new section after the text added by 11-103r2. 11-123r2 (done) 11-124r3 (done) This paper overlooked a needed edit to the description of the type member of the C descriptor. It says, in part ([9:37-10:1] of N1838), "The identifier for interoperable structures has a different value from any of the identifiers for intrinsic types. An identifier is also provided to indicate that the type of the object is unknown. Its value is different from that of any other type identifier" The identifier for a structure was removed by this paper. It and the unknown case are now identified by CFI_type_other. Replaced the first two sentences of the above quotation with "An identifier is also provided to indicate that the type of the object is a struct type, or is unknown." 11-131r2 (done) The "Comment to J3" concerning alternate placement of the text was not included in the text. In the beginning of the new A.1.1, moved the paragraph between the two list items to after the second list item, and changed "this" to "the" in the moved paragraph. In A.1.2, the comment "! assign values to x, y, z and initialize handle" appears to suggest that this is the effect of executing the subsequent lines. In fact, the executions of EXAMPLE_send do not do this. Added an extra two lines following this comment: ": ! send values in x, y, and z using EXAMPLE_send" to avoid the confusion. Corresponding changes made to the "fat binding" example. In A.1.3, replaced "CFI_type_unspecified" with "CFI_type_other" to use the new macro name. Similarly, replace "CFI_type_struct" with "CFI_type_other" twice. In A.1.3, the 'this' argument is declared type(*),allocatable. This is not allowed, so the whole section seems flawed. Added UTI TR20. In the new A.1.4, para 3, in "and it is assumed an implementation exists", added "that" after "assumed". 11-132r2 Edit for [21:17+] collided with a similar edit in 11-122r4. Left the one in 11-122r4 and did not do this one. In the edits, changed a "footnote" to inline text. {Traditional literary footnotes are not used in the standard.} Omitted the first Comment to J3 since the issue is explicitly addressed in new normative text. Omitted the final Comment to J3 regarding interaction with OpenMP. In the new "A.2.3 Example of creating an array slice in C", in the first line of paragraph 4, in "access all data" insert "the" after "all". Otherwise, done. 11-137r3 The edit at [9:30] not done since the affected text was deleted by 11-113r2. Similar to the edit for [11:3], changed the -2 to math mode at then end of the UBOUND section at [6:10]. Otherwise, done. 11-142r1 (done) 11-144r3 In the last paragraph of "5.2.6 Use of C descriptors" changed the first "pointer" to "pointed". In the third paragraph of "5.2.5.9 CFI_setpointer", added "data" before "pointer object". The beginning of the description of "5.2.5.8 CFI_select_part" is "CFI_component establishes ...". Clearly an oversight in the paper, as the function was named CFI_component in earlier drafts. Replaced "CFI_component" with "CFI_select_part". [This paper also added UTI's TR15 and TR16.] Otherwise, done. 11-145r1 (done) 11-146r1 Changed UTI TRnn+1 to UTI TR17; moved to Clause 2. Changed UTI TRnn+2 to UTI TR18; Moved to Clause 2. Changed UTI TRnn+3 to UTI TR19; reworded. In 6.9, revised the various subclause numbers to reflect new subclauses added by other papers. Edited out the lines beginning ***J3COMMENT: Added reference to Clause 6 in Paragraph 6 of the Introduction. Otherwise, done. 11-147 (done) 11-148 (done) 11-149 (done) {The edit is actually to the third sentence, not the second. The line cited, 4, is correct.} Other changes: ------------- Replaced the boiler plate text at the beginning of the "Normative references" section with that mandated by the ISO rules. Added angle brackets around "dummy variable" in 1.3.1 and 1.3.2 (definitions of terms "assumed-rank object" and "assumed-type object"). The change makes these consistent with the corresponding edits in Clause 6. In 2.2, first sentence, added "" after "R515" to parallel the corresponding statement in 2.1. In 5.2.1, first sentence, added "the macro CFI_CDESC_T," to the list of things defined in ISO_Fortran_binding.h. An update to this paragraph was overlooked when that macro was added. Adjusted various (cosmetic only) spacing and line-wrap issues in the document.