To: J3 11-231r1 Subject: Misc Edits to TS 29113 From: Bill Long Date: 2011 October 10 References: WG5/N1869, WG5/N1880 WG5/N1881 Discussion: Comments included in the PDTR Ballot Results (N1880) contained several editorial corrections. Those are collected here as edits to the PDTR. Edit citations begin with a label identifying the comment in the ballot results. GB1..GB51 are the labels for the 51 comments in the ballot from the UK (N1881). The ballot from Germany contained mainly technical comments which are not covered by this editorial paper. Edits to N1869: {GB1} 2.1, C407b - Change "or the first argument to the intrinsic" to "or as the first argument to any of the intrinsic" and change "or C_LOC" to "and C_LOC". {Clarification} {GB2} 2.1, Note 2.1 - Replace "to construct ... assumed-size." by "passed for an assumed-type explicit-shape array that is an actual argument corresponding to an assumed-shape dummy argument." {Give the real reason for constraint 407c, that is: why TYPE(*) explicit-shape arrays are not permitted.} {GB4} 5.3.3, description of member of CFI_cdesc_t - Replace sentence "Macros ... file" by "The macros listed in Table 5.2 provide values that correspond to each specifier." {Table 5.2 specifies what must be provided, not the .h file.} {GB5} 5.3.3, description of member of CFI_cdesc_t - Replace sentence "Macros ... file" by "The macros listed in Table 5.1 provide values that correspond to each specifier." {Table 5.1 specifies what must be provided, not the .h file.} {GB8} 5.3.5.1, para 5 - Delete the entire paragraph "A C descriptor ...on return.". {This paragraph is inconsistent with 5.3.7 paragraph 2, which states the general case.} {GB9} 5.3.5.1, para 6 - Replace sentence "If ... returned." by "A nonzero value is returned if an error condition was detected, and the value zero is returned otherwise." {Clarification} {GB12} 5.3.5.5, in the Description - Delete "for an object". {If base_addr is a null pointer, no object is involved.} {GB13} 5.3.5.5, in the description of dv - Replace "appropriate rank" by "rank specified by \cf{rank}". {"appropriate rank" is too vague.} {GB14} 5.3.5.5, in the description of base_addr - Replace "the object" by "the object to be described". {Clarification} {GB15} 5.3.5.5, in the description of base_addr - Add comma after second "pointer". {Correct usage.} {GB16} 5.3.5.5, in the description of base_addr - Replace "specified type" by "type specified by \cf{type}". {Say how the type is specified.} {GB17} 5.3.5.5, in the description of elem_len - Replace "the \cf{sizeof()} for an element of the object" be "\cf{sizeof() for the type" and "object is of" by "type is a". {There may be no object, but there is always a type.} {GB18} 5.3.5.5, in the description of elem_len - Replace "shall be ... kind" by "shall be the required character length times the \cf{sizeof()} for the type." {To siplify and allow for the case with no object.} {GB19} 5.3.5.5, in the description of rank - Replace "is the rank of the object" by "specifies the rank". {This parameter always provides the rank . There may be no object.} {GB21} 5.3.5.7, in the description of result - Replace "result shall point to" by "result shall be the address of". {Correct usage.} {GB22} 5.3.5.7, in the description of result - Replace "of the appropriate rank" by "with rank equal to the rank of \cf{source} minus the number of zero strides". {"appropriate rank" is too vague. The rank must be that of \cf{source}, minus the number of zero strides.} 5.3.5.7, in the description of source - Replace "source shall point to" by "source shall be the address of". {Added edit to be consistent with GB21.} {GB23} 5.3.5.7, in the description of lower_bounds - Replace "lower_bounds points to" by "lower_bounds shall be a null pointer or the address of". {A null pointer does not point to anything.} {GB24} 5.3.5.7, in the description of upper_bounds - Replace "upper_bounds points to" by "upper_bounds shall be a null pointer or the address of". {A null pointer does not point to anything.} {GB25} 5.3.5.7, in the description of strides - Replace "strides points to" to "strides shall be a null pointer or the address of". {A null pointer does not point to anything.} {GB26} 5.3.5.7, in the description of strides - Replace "an element is 0" by "a stride is 0". {"element" is ambiguous and "stride" has just been used.} {GB27} 5.3.5.7, para following description of strides - Change "\cf{stride} elements that have value" to "strides that are". {The parameter name is \cf{strides}.} {GB28} 5.3.5.7, in the first Example - Replace "updates a C descriptor" to "establishes a C descriptor and updates it". Replace the comment line by "CFI_rank_t rank = 1 ; ind = CFI_establish ((CFI_cdesc_t *) §ion, NULL, CFI_attribute_assumed, CFI_type_float, 0, rank, NULL);" {The {result} C descriptor must be established correctly before CFI_section is invoked. The examples should illustrate this, as is done already in 5.3.5.8.} {GB29} 5.3.5.7, in the Example section, change "Example." to "Example 1.", and before the second example beginning "If source already ... real A(100,100)" insert "Example 2." {Linking the two examples is confusing. They should be separated.} {GB33} 5.3.5.9, in the description of lower_bounds - Change "rank zero" to "rank is zero". {Correction} {GB34} 5.3.5.9, in the paragraph following paramenter lower_bounds, change "the {lower_bounds} argument" to "in {lower_bounds}". {To be consistent with the style elsewhere. Editor note: I deleted an initial "in" from the from-text in the original edit.} {GB35} 5.3.6, paragraph 2, - change "unknown-size" to "assumed-size". {Use the correct term.} {GB40} 6.4, constraint C407b - Change "or the first argument to the intrinsic" to "or as the first argument to any of the intrinsic" and change "or C_LOC" to "and C_LOC". {Copying edit from GB1 into clause 6.} {GB41} 6.5, edit Set 2 - Change "15.5.4" to "15.6.4" twice. {For consistency with final edit in paragraph 6.9.} {GB42} 6.9, edit set 3 - Change "15.2.3.4" to "15.2.3.3". {The previous edit is to 15.2.3.3.} {GB45} A.1.4, para 1, first sentence - Replace "Assumed-rank ... assumed-type" by "There are situations where an assumed-rank dummy argument can be useful in Fortran, although a Fortran procedure cannot itself access its value". {The first sentence is inappropriate.} {GB46} A.1.4, para 1 - Change "many of the IEEE intrinsic procedures" to "the IEEE inquiry functions". {It is not the case that "many" of the IEEE intrinsic procedures can make use use this feature.} {GB47} A.1.4, para 2 - Change "An example ... function" to "The specific procedures for the IEEE_SUPPORT_DIVIDE function might be implemented in Fortran as follows:". {The first sentence lacks a verb.} {GB49} A.2.3, title - Replace "slice" by "section" and at end, add "using CFI_section". {Correct usage and make clarification. Also change Contents list.} {GB50} A.2.4, title - Change to "Example of the use of CFI_setpointer". {Clarification. Also change Contents list.}