Document number: WG14 N650 (J11 97-013) Title: Draft 8 Edit Issues List Author: Douglas Walls & John Benito Date: January 28, 1997 All comments in example code should be itlic, see 7.17.2.17, 7.17.2.1, 7.16.3.2.2, 7.17.2.7, etc. This is also a problem with "/* ... */", the '.' needs to be itlic. Change bars are one off sometimes. The first bars is on a line with no change, and the last line of change is not marked. 7.12 page 251 is just one example. Some change bars are now bold, and in some cases there are three change bars. Annex D has not been updated. All the pages of the Index are labeled as an Annex. Annex C and D need to be added to the list of items that need work. Annex C has an Editor note, but is missing for the list of issues. __________ N590, Translation limits proposal, basically this proposal has not been applied. Only one of the many changes from this proposal have been applied. Specifically only the changes to 6.8.4, line control, has been applied. The bulk of the changes for clauses 5.2.4.1, 6.1.2, 6.9 have not been made. __________ N601, long long proposal: 6.1.3.2, Integer constants, paragraph 1, page 38 (P), the following syntax is missing from N601, long long proposal: integer-suffix: unsigned-suffix long-long-suffix opt long-long-suffix unsigned suffix opt long-long-suffix: one of ll LL 7.11.6.2, The fscanf function, Description, paragraph 3, bullet 3, second sentence, page 230 (P), correct the text ``pointer to long, or by ll'' to ``pointer to long int, or by ll''. 7.12, General utilities , paragraph 1, page 251 (P), correct the text ``declares four types'' to be ``declares five types''. 7.12.1.4, The atoll function, Description, paragraph 2, page 253 (P), correct the text ``atoll function converts'' to be ``atoll function is equivalent to the atol function, except that it converts''. This is what is specified in N601, long long proposal as passed by the committee. However, I do believe the wording Frank has put in is accurate and more concise. 7.17.4.1.5, The wcstoull function, Description, paragraph 2, page 323 (P), correct the text ``pointed to to unsigned'' to be ``pointed to by nptr to unsigned''. __________ N615, Amsterdam minutes item 41.5, N505 (Make qualifiers idempotent): 6.5.3, Type qualifiers, Constraints, paragraph 2, page 88 (P), beginning ``If the same qualifier ...'', this paragraph is suppose to be in the Semantics, it has been misplaced under Constraints. See the 6/96 minutes (N615), item 41.5, N505 (Make qualifiers idempotent) for details of how this change was suppose to be applied. __________ N593, New Form of Pragma: 6.8.9, Pragma operator, paragraph 1, page 135 (P), correct the text ``escape sequence \ by a single'' to be ``escape sequence \\ by a single''. Same paragraph correct the text ``the user operator'' to be ``the unary operator''. __________ N401, : 7.4.8, Limits of integral types, footnote 116, page 152 (P), correct ``test test'' to be ``test''. 7.4.8, Limits of integral types, paragraph 6, page 153 (P), is suppose to be paragraph 1 following the header 7.4.9, Limits of most efficient integral types. __________ Misc corrections: 7.11.1, Introduction, paragraph 3, page 212 (P), footnote 147 referenced, but the footnote appears on the next page. 5.1.2.3 Program execution, paragraph number 10, page 10 (P), this paragraph should not be numbered. It is a part of example 1, which is a subparagraph of paragraph 9. 7.11.6.2, The fscanf function, paragraph 12, should not be numbered. These are all subparagraphs of paragraph 11. Footnote 49, page 61 (P), has a paragraph number inbedded in the text. 6.5.7, Initialization, paragraph 24, example 6, page 105 (P) has a style problem, two occurrences of each of these: {1,2} should be { 1, 2 } {3, 4, 5} should be { 3, 4, 5} 6.5.3, Type qualifiers, paragraph 11, page 90 (P), change ``available'', to ``available,''. For examples of why the comma goes inside the quote see 6.3.3.2 Semantics section __________ N488, Designated initializers: 6.5.7, Initialization, paragraph 24, example 8, page 106 (P), correct ``enum { member_one, member_to,'' to be ``enum{ member_one, member_two,''. __________ N599, restrict pointer library changes: 7.17.4.6.2, The wmemcmp function, Synopsis, paragraph 1, page 332 (P), change the function definition from: int wmemcmp(const wchar_t *s1, const wchar_t *s2, size_t n); to be: int wmemcmp(wchar_t * restrict s1, const wchar_t * restrict s2, size_t n); Annex B, has yet to be updated, for example adding ``restrict'' to B.1.2, Keywords, page 345 (P). __________ N595, C9X Floating-Point A large set of the changes from N595 have not been applied. All of the changes beginning with the changes for 7.10.6.2 The fscanf function, on page 9 of N595 and continuing with all of the changes through page 19, have not been applied. For a total of 11 pages of changes that have not been applied. A second large set of the changes from N595 have not been applied. All of the changes from pages 39-46 of N595, which adds the header , have not been applied. The motion from the Toronto minutes (N632) which accepted N595 explicitly stated that the semicolons following the FENV_ACCESS_ON and FENV_ACCESS_OFF macros were to be removed. This was not done when applying the proposal to C9X draft 8 and needs to be done: F.7.4 Constant expressions, Example, paragraph 2, page 376 (P) F.7.5 Initialization, Example, paragraph 2, page 377 (P) F.8.1, Global transformations, paragraph 2, page 378 (P) F.9.3.11, The modf function, paragraph 2, page 387 (P) F.9.6.1, The ceil function, paragraph 1, page 390 (P) F.9.6.6, The round function, paragraph 1, page 391 (P) F.9.7.1, The fmod function, paragraph 1, page 392 (P) 5.1.2.3, Program execution, paragraph 9, example 3, page 11 (P), delete the last sentence beginning ``Alternatively, an operation involving only ints or floats ...''. 5.2.4.2.2 Characteristics of floating types , paragraph 5, page 20 (P), in the list of FLT_EVAL_METHOD values the fonts for the terms ``float'', ``double'' and ``long double'' when used as types are not in the correct font. 6.1.3.1, Floating constants, syntax, paragraph 1, page 36 (P), in the syntax for hexadecimal-fractional-constant, the second line should be indented as it is a continuation of the first line. It should look like: hexadecimal-fractional-constant: hexadecimal-digit-sequence . opt hexadecimal-digit-sequence hexadecimal-digit-sequence . 6.1.3.2 Integer constants, syntax, paragraph 1, page 37 (P), double check this change from page 6 of N595. Looks like too much has been removed. Only hexadecimal-digit syntax was to be removed. But the definition of an hexadecimal-constant was removed. Restore this: hexadecimal-constant: 0x hexadecimal-digit 0X hexadecimal-digit hexadecimal-constant hexadecimal-digit 7.11.6.1 The fprintf function, paragraph 3, third bullet, page 224 (P), change ``for e, E, and'' to ``for a, A, e, E, and''. 7.11.6.1 The fprintf function, paragraph 3, third bullet, penultimate sentence, page 225 (P), change ``following e, E, f, g'' to ``following a, A, e, E, f, g''. 7.11.6.1 The fprintf function, paragraph 6, specifier a,A , page 227 (P), change ``[-]0xh.hhhhpp+d'' to ``[-]0xh.hhhhp+d'' - - ^--Remove this extraneous p, which is in a different font 7.11.6.1 The fprintf function, paragraph 6, specifier a,A , page 227 (P), correct the spelling of ``lettersr'' to be ``letter''. 7.11.6.1 The fprintf function, paragraph 6, specifier a,A , page 227 (P), correct the font for the specifier ``a'' in the text ``... abcdef are used for a conversion ... '' ^- this a is in the wrong font 7.11.6.1 The fprintf function, paragraph 6, specifier a,A , page 227 (P), correct the font for the specifier ``a'' in the text ``The a conversion specifier ...''. This a is in the wrong font -^ 7.11.6.1 The fprintf function, footnote 158, page 227 (P), add the missing expression where the note on missing text is: p-1 n 16 > b 7.11.6.1, The fprintf function, footnote 158, page 227 (P), the footnote, ``Binary implementations can choose the hexadecimal digit to the left of the decimal-point character so that subsequent digits align to nibble (4-bit) boundaries.''. This is to be a numbered footnote, with the footnote place in 7.11.6.1, The fprintf function, paragraph 5, the a, A specifier, in the third sentence as follows: The hexadecimal digit to the left of the decimal-point character is nonzero for normalized floating-point numbers and is otherwise unspecified (footnote here); if the precision is zero and the # flag is not specified, no decimal-point character appears. 7.17.2.1, The fwprintf function, paragraph 4, third bullet, page 301 (P), correct ``for e, E, and'' to be ``for a, A, e, E, and''. 7.17.2.1, The fwprintf function, paragraph 4, fourth bullet, page 301 (P), correct ``following e, E, f'' to be ``following a, A, e, E, f''. 7.17.2.1, The fwprintf function, paragraph 6, the ``a, A'' specifier, page 303 (P), correct the font for the word ``double'' in ``The double argument ...''. 7.17.2.1, The fwprintf function, paragraph 6, the ``a, A'' specifier, page 303 (P), change ``[-]0xh.hhhhpp+d'' to ``[-]0xh.hhhhp+d'' - - ^--Remove this extraneous p, which is in a different font 7.17.2.1, The fwprintf function, paragraph 6, the ``a, A'' specifier, page 303 (P), correct the text ``left of the decimal-point character is'' to read ``left of the decimal-point wide character is''. 7.17.2.1, The fwprintf function, paragraph 6, the ``a, A'' specifier, page 303 (P), correct the font for the specifier ``a'' in the text ``... abcdef are used for a conversion ... '' ^- this a is in the wrong font 7.17.2.1, The fwprintf function, paragraph 6, the ``a, A'' specifier, page 303 (P), correct the font for the specifier ``a'' in the text ``The a conversion specifier ...''. ^- this a is in the wrong font 7.17.2.1, The fwprintf function, footnote 190, page 303 (P), add the missing expression where the note on missing text is: p-1 n 16 > b 7.17.2.1, The fwprintf function, footnote 190, page 303 (P), the footnote, ``Binary implementations can choose the hexadecimal digit to the left of the decimal-point character so that subsequent digits align to nibble (4-bit) boundaries.''.This is to be a numbered footnote, with the footnote place in 7.17.2.1, The fwprintf function, paragraph 5, the a, A specifier, in the third sentence as follows: The hexadecimal digit to the left of the decimal-point wide character is nonzero for normalized floating-point numbers and is otherwise unspecified(footnote here); if the precision is zero and the # flag is not specified, no decimal- point wide character appears. Note: I've applied the above correction to ``decimal-point character'' to be ``decimal-point wide character'', in the above reworded sentence. 7.6, Mathematics , paragraph 3, pages 166 and 167, there are 5 occurrences of the phrase ``The macro''. This phrase should begin a new paragraph, but has been incorrectly placed at the end of the preceding paragraph. 7.6.1, The FP_CONTRACT macros, Description, paragraph 2, page 168 (P), separate the words ``FP_CONTRACTmacro''. 7.6.5.4, The acosh function, Returns, paragraph 3, page 175, ``+'' should be ``+''. 7.6.5.6, The atanh function, paragraph 2, page 176, The ``Returns'' header has been incorrectly appended to this paragraph as ``HU "Returns"''. 7.6.6.7, The exp2 function, Description, paragraph 2, page 178 (P), correct ``2x'' to be: x 2 7.6.6.7, The exp2 function, Description, paragraph 2, page 178 (P), remove footnote 131, it belongs in the expm1 function. 7.6.6.7, The expm1 function, Description, paragraph 2, page 178 (P), add footnote 131 to the end of the first sentence. 7.6.6.7, The expm1 function, Description, paragraph 2, page 178 (P), correct ``ex'' to be: x e 7.6.6.11, The logb function, Description, paragraph 2, page 180 (P), correct ``FLT_RADIX-logb(x)'' to be: -logb(x) FLT_RADIX 7.6.6.12, The scalb function, paragraph 2 and 3, page 180 (P), correct the three occurrences of ``FLT_RADIXn'' to be: n FLT_RADIX 7.6.9, Nearest integer and absolute value functions, page 183 (P), correct the title of 7.6.9 to be: 7.6.9 Nearest integer functions 7.6.8.3, The gamma function, paragraphs 2 and 3, page 182 (P), if possible, change the two occurrences of the letter G to be the ``gamma'' symbol. 7.6.8.4, The lgamma function, paragraphs 2 and 3, page 182 (P), if possible, change the two occurrences of the letter G to be the ``gamma'' symbol. 7.6.8.4, The lgamma function, paragraphs 2 and 3, page 182 (P), correct the two occurrences of ``loge'' to be: log e 7.6.9.2, The fabs function, page 183 (P), move the entire definition of the fabs function to 7.6.7, Power functions and absolute value functions. 7.6.9.4, The nearbyint function, Description, paragraph 2, page 184 (P), correct the cross reference ``X.10.6.3-4''. 7.6.9.6, The rinttol function, Returns, paragraph 3, page 184 (P), separate the words ``longint''. 7.6.10.3, The remquo function, Description, paragraph 2, page 187 (P), separate the words ``quoitstroesavaluewhose''. 7.6.10.3, The remquo function, Description, paragraph 2, page 187 (P), correct ``mod2n'' to be: n mod2 7.6.12.2, The fmax function, Returns, paragraph 3, page 190 (P), remove reference to footnote 136, it belongs in the fmin function. 7.6.12.3, The fmin function, Description, paragraph 2, page 190 (P), add a reference to footnote 136 at the end of the paragraph. 7.6.12.2, The fmax function, footnote 135, page 190 (P), correct the cross reference ``X.10.9.2''. F.2, Types, paragraph 1, third bullet, page 371 (P), separate the words ``doubletypematchesanIEC559extended''. F.2.1, Infinities, signed zeros, and NaNs, paragraph 1, last sentence, page 372 (P), correct the font of ``nan''. F.3, Operators and functions, paragraph 1, eighth bullet, page 372 (P), separate the words ``providestheIEC''. F.3, Operators and functions, paragraph 1, 11th bullet, page 373 (P), separate the words ``isunordered)in''. F.3, Operators and functions, paragraph 1, 12th bullet, page 373 (P), separate the words ``fetestexceptfunctionsin''. F.3, Operators and functions, paragraph 1, 20th bullet, page 373 (P), separate the words ``providesthefinite''. F.5, Binary-decimal conversion, paragraph 1, page 374 (P), correct ``digits an back'' to read ``digits and back''. F.7.3, Execution, paragraph 1, bullet 1, page 375 (P), says ``All exception status flags are clear'', I think it should say `` All exception status flags are cleared''. The proposal says ``clear''. But I think it should be ``cleared''. Ask Jim? Jim's response: >I think "clear" is OK. It describes a part of the state the environment >is initialized to. I disagree but not strongly. I'll leave it to the Redactor and Jim. F.7.4, Constant expressions, Example, paragraph 2, page 376 (P), align the trailing comments, use multiple lines if needed. F.7.5, Initialization, paragraph 1, page 377 (P), correct ``objectst hat'' to read ``objects that''. F.7.6, Changing the environment, paragraph 1, page 377 (P), correct ``acros'' to be ``macros''. F.7.6, Changing the environment, paragraph 2, page 377 (P), use parenthesis instead of hyphens around the phrase ``namely overflow and inexact, or underflow and inexact''. Hyphens is not the style used elsewhere, typically parenthesis are used. F.8.1, Global transformations, paragraph 2, page 378 (P), ``maybe 0 > n'' should be ``maybe 0 > n''. - F.8.1, Global transformations, paragraph 2, page 378 (P), separate the words ``1cannotbe''. F.8.2, Expression transformations, paragraph 1, pages 378 and 379 (P), align the first line of all 9 subparagraphs. F.8.2, Expression transformations, paragraph 1, pages 378 and 379(P), separate the two occurrences of the words ``xand' in the second and fifth subparagraphs. F.8.2, Expression transformations, paragraph 1, fourth subparagraph pages 379 (P), separate the characters ``-(''. And separate the words ``yand'' and ``1is''. F.8.3, Relational operators, paragraph 1, subparagraph 2, page 379 (P), separate the words ``xisaNaN'. F.8.3, Relational operators, paragraph 1, subparagraph 3, page 379 (P), align the paragraphs first line. F.8.3, Relational operators, paragraph 1, page 379 (P), add a blank line between subparagraph 3 and the beginning of the next full paragraph which starts with ``The sense of relational''. F.8.3, Relational operators, Example, paragraph 2, page 380 (P), all of the comment lines should be aligned on the same line the if statement begins at, or placed prior to the if statement. They currently appear in the else part of the if statement. Four occurrences. F.9.3.4, The frexp function, paragraph 1, first bullet, page 385 (P), separate the words ``andreturns''. F.9.4.2, The hypot function, footnote 219, N595 did not have this as a footnote. Jim was this your intention? It makes the text non-normative. Jim's response: >Footnote 219 is suppose to be in rationale. It just gives justification >for what's specified (normatively) in the bullets. F.9.4.3, The pow function, paragraph 1, page 388 (P), separate the words ``for''. F.9.6.1, The ceil function, paragraph 1, page 389 (P), add a blank line after the first and only bulleted line to separate it from the following paragraph. F.9.6.2, The floor function, paragraph 1, page 390 (P), add a blank line after the first and only bulleted line to separate it from the following paragraph. F.9.7.1, The fmod function, paragraph 1, page 390 (P), add a blank line after the fourth bulleted line to separate it from the following paragraph. F.9.9.2, The fmax function, paragraph 1, page 393 (P), add a blank line after the first and only bulleted subparagraph to separate it from the following paragraph. __________ N596, C9X Complex Arithmetic 6.1.2.5, Types, footnote 21, page 31 (P), correct ``Annex Y'' to be ``Annex G''. 6.1.2.5, Types, paragraph 16, page 32 (P), the changes applied to this paragraph do not match the changes as passed in N596. Applying those changes the paragraph should read: The type char, the signed and unsigned integer types, and the enumerated types are collectively called integral types. The integral and real floating types are collectively called the real types. The representation of integral types shall define values by use of a pure binary numeration system. (23) The representation of real floating types are unspecified. 6.1.2.5, Types, paragraph 17, page 32 (P), change ``real types'' back to `` arithmetic types''. No changes were directed for this paragraph. This restores the definition of arithmetic types. 6.2.1.7, Usual arithmetic conversions, paragraph 1, page 51 (P), the sentence beginning ``First, if the corresponding real type of either ..'' should become the first subparagraph of paragraph 1, indented like all of the other major subparagraphs that follow. 6.2.1.7, Usual arithmetic conversions, paragraph 1, page 51 (P), delete the sentences ``The purpose is to yield a common type, which is also the type of the result. This pattern is called the usual arithmetic conversions:''. 6.3.5, Multiplicative operators, Semantics, paragraph 3, page 64 (P), I agree with the ``Editor'' comment that the added sentence ``If either operand has complex type, then the result has complex type.'' belongs with 6.2.1.7, Usual arithmetic conversions. 6.3.6, Additive operators, Semantics, paragraph 4, page 65 (P), I agree with the ``Editor'' comment that the added sentence ``If either operand has complex type, then the result has complex type.'' belongs with 6.2.1.7, Usual arithmetic conversions. 6.3.9, Equality operators, Semantics, paragraph 3, page 69 (P), the sentence beginning ``Values of complex types are equal ...'', is suppose to be the beginning of a new paragraph following paragraph 3. 5.2.4.2.2, Characteristics of floating types , paragraph 3, page 19 (P), ``for all values except FLT_EVAL_METHOD12.''. Footnote 12 has been placed on the wrong paragraph and sentence. Footnote 12 should be placed in paragraph 5, second sentence as follows, `` characterized by the value of FLT_EVAL_METHOD12:''. 7.7, Complex arithmetic , paragraph 1, page 194 (P), separate the words ``longdouble''. And correct the font of the word ``double'' after separating it. 7.7, Complex arithmetic , footnote 140, page 194 (P), correct ``Annex Y'' to be ``Annex G''. 7.7.1, The CX_LIMITED_RANGE macros, footnote 140, pages 194 and 195 (P), the footnote should not be split across two pages. 7.7.2.1, Branch cuts, paragraph 1, page 195 (P), correct ``Annex Y'' to be ``Annex G''. 7.7.2.1, Branch cuts, paragraph 2, page 195 (P), correct ``Annex X'' to be ``Annex F''. 7.7.2.18, The cpow function, paragraphs 2 and 3, correct two occurrences of ``xy'' to be: y x Annex G, IEC 559-Compatible Complex Arithmetic, page 394 (P), is labeled as ``(normative)'', correct it to be labeled as ``(informative)''. See N596 (C9X Complex Arithmetic) and N632, Toronto minutes item 6. G.1, Introduction, paragraph 1, page 394 (P), correct ``Annex H'' to be ``Annex F''. G.5.1, Multiplicative operators, page 395 and 396 (P), fix the tables. G.5.2, Additive operators, paragraph 3, page 399, just prior to this paragraph add the header ``G.6 '', and make this the first paragraph G.6. Renumber, clauses G.5.3 through G.5.12 as G.6.1 through G.6.10 respectively. G.5.2, Additive operators, paragraph 8 (will probably be paragraph 6 of G.6), page 400, correct ``annex X'' to be ``annex F''. G.5.2, Additive operators, paragraph 9 (will probably be paragraph 7 of G.6), page 400, align all the equal signs in the expressions, and align the expressions on the right hand side of the equal signs. __________ N620, Complex Arithmetic Edits - Update The motion in the Toronto minutes (N632) passed N596 as amended by N620. However, the text for clauses G.5, Binary operators, through G.5.2, Additive operators, contains the text from N596 instead of N620. Please apply the changes in N620 to the C9X draft. ________________________________________ From the cover e-mail, the following corrections to the log would be helpful in reducing confusion: > Date: 1997-01-03 > Date: 1997-01-03 > Document: WG14/N643 X3J11/97-007 > File: wg14/doc/n643-notes.txt >Attached, please find a copy of C9X Draft 8. This document > represents C90 with the following changes applied: > - C9X Floating-Point Arithmetic, N546. ^^^^ Should be N595. > - Signed Integer Division, N452. ^^^^ This was completely replaced by N617. No changes to C9X should have come from N452. It should not be in the log of changes. > - Idempotent type qualifiers, N505, 1996-10 > minutes. ^^^^^^^ Should be 1996-06 ^ (N615) > - Preprocessing directives deleted after > translation phase 4, 1996-10 minutes. ^ (N632) > 2. RESOLVED ISSUES > > The following issues have been resolved in this draft. > > 3. C9X floating-point arithmetic proposal (N546). Should be N595 ^^^^ > > 5. Signed Integer Division proposal (N452). > Should be N617, see above ^^^^ > 8. Idempotent type qualifiers (N505, 1996-10 > minutes -- N623). ^^^ 615 <-- Should be --> ^^^^^^^ 1996-06 > 10. Preprocessing directives deleted after > translation phase 4 (1996-10 minutes -- N623). Should be --> ^^^^ N632 >3. OPEN ISSUES >The following are the outstanding issues with respect to >Draft 8. > 3. The "__func__" proposal (N611) was not > incorporated because the subclause number appears to > be problematic. The review committee might verify > that this is the subclause numbering inteded. There is a significant typo, the proposal item to add 6.3.1.1 should have been 6.8.8.1. > 4. The "strtoimax" proposal (N602) needs to be > substantially reworded. The wording was incomplete > is and needs to be harmonized with other wording. Please follow the 1996-10 minutes (N632), item 7, which corrects the proposal, completing it and harmonizing it with the rest of the wording. > 8. The "" needs a definition of a > ``supported'' type. The term ``supported in'' occurs once (7.4.1, Introduction), and the term ``supported by'' occurs twice (7.4.8, Limits of integral types, paragraph 1, and footnote 116). ``supported in'' could be changed to ``defined in'', and ``supported by'' could be changed to ``defined by''. Would this resolove this issue, I believe this change is strictly editorial and does not change the meaning or intent.