WG14 N787/J11 97-151 Minutes of Co-located ISO/IEC JTC1/SC22/WG14 and NCITS J11 Meetings 20-24 October 1997 Menlo Park, California, USA Monday, 20 October 1997 1. Opening Activities 1.1. Opening Comments Benito and Jaeschke welcomed all WG14 and J11 participants. 1.2. Introduction of Participants All participants introduced themselves: John Benito, Perennial J11; WG14 Convener Frank Farance, Farance Inc. J11, C9X Editor Clive D. W. Feather, Demon Internet WG14, UK Mark Hoerth, Hewlett-Packard J11 Rex Jaeschke, Self J11, Chair Larry Jones, SDRC J11 Jan Kristoffersen, Ramtex WG14, Denmark Randy Meyers, Self J11 Peter Seebach, Self J11 Bill Seymour, Self J11, Vocab. Rep., Acting Secretary Jim Thomas, Hewlett-Packard J11 Fred Tydeman, Tydeman Consulting J11 Douglas Walls, Sun Microsystems J11, International Rep.; WG14, US Tom MacDonald, Cray/SGI J11 Jeff Zeeb, Digital J11 Tom Robinson, Perennial J11 Bob Harrison, Unisys J11 Doug Gwyn, U.S. Army J11 1.3. Selection of Meeting Chair Jaeschke was appointed meeting chair. 1.4. Host Facilities and Local Information Walls has arranged for a workstation, laser printer and copy services for participants. 1.5. Procedures for This Meeting As usual, the meeting was conducted as a group of technical experts working toward consensus with straw votes used to determine sentiment. Formal J11 votes were used to establish a U.S. position (other delegations could caucus at the same time) and formal WG14 votes were used to determine whether consensus had been reached. Straw votes (indicated by SV in the margin) are generally recorded in these minutes as For/Opposed/Abstain. Formal motions (indicated by FM) are made within J11 and indicate the mover and second. Formal motions which pass are also proposed resolutions in WG14. Formal J11 votes (indicated by FV) are shown as For/Opposed/Abstain/Absent/Total, WG14 consensus votes (indicated by CV) are shown as For/Opposed/Abstain. Items which were accepted without objection are recorded as being by acclamation (indicated by A). All references to the C9X draft noted in these minutes are to C9X draft 11 pre 3 (C9XD11P3), unless specified otherwise. Since there is no permanent secretary, Jaeske appointed Seymour as Acting Secretary for this meeting. 1.6. Approval of Previous Minutes [N718] 1. Add to the formal motion by Meyers and Walls of item 5: Move the paragraph "The inline function specifier shall not appear in a declaration of main" up to be a constraint. 2. Add to the formal motion by Walls and Jones of item 17.3: On line 1, change "ending in _t" to "ending with _t". 3. In the formal motion by Keaton and Walls of item 20, "Change 12" should be "Change 13". 4. 21, p 63, should be "restricted pointers" [The Secretary's notes also include the objection that the change to 6.1.2.5 in item 14 should be deleted; but there doesn't seem to be any formal motion in item 14 that changes 6.1.2.5. Another member (Walls) has suggested that this objection was dropped; but the Secretary failed to note that.] It was not clear that all these corrections are real. Hoerth will bring in notes from London to verify. Approval of minutes deferred. [The minutes were approved on Wednesday morning. Forward reference: item 26 of these minutes.] 1.7. Review of Action Items and Resolutions Action items appearing in these minutes are indicated by *** in the margin. Page numbers immediately below refer to the hand-written page numbers in the post-London mailing. p 49, Benito, Degener, Keaton, Seymour and Walls, editorial review board for incorporating MSE: withdrawn p 49, Jaeschke, provide long long rationale to Benito: done *** p 49, Mooney and Harris, warn Simonsen about changes to assert in N611: status unknown *** p 49, Benito, put Rationale on FTP site: pending p 51, Benito, work with FTP administrator to furnish mailings electronically: done p 52, Jaeschke, contact UDI working group: done p 52, Benito, provide Rationale on reflector: done *** p 54, Plum, proposal to refine sequence points: status unknown *** p 56, Benito, investigate whether C9X conforms to ISO directives with respect to DR 159: pending p 61, Feather, Seebach and Martin, editorial review committee for N672: withdrawn p 61, Feather, Meyers and Walls, review board for N725: done p 62, Keaton, Plum, Seebach and Feather, review board for N738: withdrawn p 63, MacDonald, re-evaluate references to inlined functions in Rationale: done p 64, Hoerth and Jaeschke, initiate liason with UDI: done p 67, Jaeschke, add N730 to Menlo Park agenda: done p 67, Jaeschke, add N737 to Menlo Park agenda: done p 68, Jaeschke, post future agenda items on reflector: done *** p 69, Jaeschke, draft a form letter for submission of comments about C9X draft and post to reflector: pending p 69, Jaeschke, speak with Deborah Donovan about process for electronic mail submission of comments: done p 69, Jaeschke, organize J11 meeting in December: done, but meeting cancelled 1.10. Information on the Next Meeting The scheduled meeting in Colorado is questionable. Hewlitt-Packard could host somewhere in Colorado if necessary. We will know more later in the week. 1.11. Identification of National Bodies and J11 Voting Members J11 has 13 of 17 voting members present. WG14 has three national bodies in attendance: Denmark, the United Kingdom and the United States. An attendance sheet is attached to these minutes. Liason reports. WG14 liason, SC22 plenary in August, we got permission to publish TC1 and TC2 which Simonsen put on the WG14 Web site. We may publish our first CD. C++ liason, finished final CD, 5 no votes. The next meeting will be in Morristown NJ. Given the new SC22 procedures, WG21 is expected to forward the CD to DIS. 2. Benito, N746, CD Registration. Denmark votes no because of no POSIX alignment, strftime, low-level I/O and boolean. POSIX and strftime will come up in papers later this week; boolean has been done. Only low-level I/O should be a show-stopper. UK believes that low-level I/O should be dealt with by an NCEG-like group. Denmark believes it's too small an issue for a separate group. Low-level I/O is vital for embedded systems programmers, so belongs in C standard. The US position is no. We need to talk about it because it's a comment from a participating country. J11 needs time to discuss and hear from experts before taking another vote. FM Moved Gwyn, seconded Seebach, to provide at least 30 minutes agenda time later in meeting for discussion of low-level I/O. FV 6/4/3/0/13 passed CV 2/1/0 consensus Japan voted no because of six technical items. 1. long long, div_t should be optional...they're too hard for small machines. One maintainer of PDP-11 compiler says it's doable. The benefit to user outweighs cost to implementer. This is the only way to get a 64-bit type into the standard. 2. complex should be optional...not enough users. We expect that there will be more users since it's considered an esential part of FORTRAN. We try to avoid making things optional. 3. atoll should be dropped...it's already covered by strtoll. atoll could be implementated much more efficiently than strtoll and it's easier to code in a quick program. 4. encoding of execution and source characters... 5. illegal example of ## operator. We can fix this with editorial changes. The example in the draft is OK. 6. rewind or other positioning should reorient streams...this is important for wide character streams. Japan has words now being translated. (Japan says that others are just editorial. We're not sure, either that they're editorial, or that they should be made.) Answers to Japan's editorial comments: 1. Yes, we need the right date. 2. We will add "locale-specific" to implementations' required documentation. 3. correct 4. The various values of 0 are not the same thing. We might break something else if we try to fix it. We need words from Japan. 5. already fixed 6. We agree in principle that all references should be correct. 7. This is covered in the Rationale. 8. Annex B is still in the process and will not be published until it's correct. 9. already fixed 10. already fixed 11. no logical necessity, no resources to do it right in time frame 12. moot 13. already fixed 14. non-editorial 15. already fixed 16. will be explained in Rationale 17 - 20. Four typos will be or have been fixed. 21. We should leave J5 alone. They really are common extensions. We will go through it and make sure they're still really extensions (e.g., long long int) and maybe remove some items that make an implementation non-conforming. J5 will be reviewed. 3. Feather, N730, Cleanup of aggregate initialization. There could be problems with floating-point agregate initializers and compound literals. Feather will do some wordsmithing and we'll get back to it later in the week. 4. Feather, N725, Simplified Integer Conversion Rules. FM Moved Walls, seconded Tydeman, that N725, Simplified Integer Conversion Rules, be incorporated into the C9X draft with the following wording changes: change "destination type" to "new type" three places in paragraph 2 and one place in paragraph 3. FV 12/0/1/0/13 passed CV 3/0/0 consensus ---------------------------------------------------------------------- Monday Afternoon 5. Meyers, N769, Mandatory intmax_t; Feather, N765, Issues with representation of values. FM Moved Gwyn, seconded Jones, that N765 Part C be incorporated into the C9X draft with a forward reference to inttypes.h added. FV 12/0/1/0/13 passed CV 3/0/0 consensus 6. Gwyn, N761, Rewrite of C9X Subclause 7.4 Shall we delete 7.4.1.4 and 7.4.2.4? SV 7/1/0 Shall there be types corresponding to size_t, ptrdiff_t? SV 9/3/0 7. Thomas, N757, Miscellaneous Floating-Point Cleanup. Shall scalb be removed from C9X? SV 12/0/5 FM Moved Gwyn, seconded Benito, to remove scalb from C9X with editorial group to come up with specific directions for the redactor. FV 10/0/3/0/13 passed CV 2/0/1 consensus *** Thomas, Gwyn and Tydeman to be editorial group FM Moved Thomas, seconded Benito, that N757, Floating-Point Cleanup, section 2, Enhancement, be incorporated into the C9X draft with the following wording changes: the last two words, "are unique", are replaced by "result in distinct values". FV 8/0/5/0/13 passed CV 2/0/1 consensus 8. Feather, N759, Bug in Compound Literals FM Moved Gwyn, seconded MacDonald, that the example from N759, Minor Issues Relating to Compound Literals, with all occurrances of "foo" being replaced by "s", be incorporated into the C9X draft. FV 10/0/3/0/13 passed CV 3/0/0 consensus 9. Jones, N544 (DR 156) FM Moved Jones, seconded Gwyn, that the wording under Technical Corrigendum from DR 156 in N544 be adopted with the clause numbers changed as follows: "subclause 7.9.9.2, page 145" to "7.13.10.2, fseek" "subclause 7.9.9.3, page 146" to "7.13.10.3, fsetpos" FV 9/0/4/0/13 passed CV 3/0/0 consensus 10. Tydeman, N772, Header Name Spelling FM Moved Tydeman, seconded Seebach, that N772, Header Name Spelling, be incorporated as is into the C9X draft. FV 10/0/3/0/13 passed CV 3/0/0 consensus 11. Tydeman, N758, C9X and LIA-1 Informative Annex FM Moved Gwyn, seconded Farance, that N758, C9X and LIA-1 Informative Annex, be passed on to a final editorial review committee to draft the precise changes to incorporate the proposal into the C9X draft. FV 6/3/4/0/13 passed CV 2/0/1 consensus *** Tydeman, Gwyn and Thomas will be the editorial review committee. ------------------------------------------------------------------------- Tuesday Morning 12. Walls, N760, Empty Macro Arguments FM Moved Walls, seconded Tydeman, that N760, Empty Macro Arguments be incorporated as is into the C9X draft. FV 11/0/1/1/13 passed CV 3/0/0 consensus 13. MacDonald, N768, Current C9X Tweak List FM Moved Walls, seconded Jones, that items 1, 2, 4, 5, 7, 8, 10, 11 and 15 of N768, Current C9X Tweak List, be incorporated into the C9X draft changing "current raised exception" in item 11 to "currently raised exception". FV 10/0/3/0/13 passed CV 3/0/0 consensus FM Moved Gwyn, seconded Jones, that paragraph 13.3.2.1 from N762, Minor Changes to C9X, be incorporated as is into the C9X draft. FV 10/0/3/0/13 passed CV 3/0/0 consensus 14. Feather, N773, Consistency and Clarification Changes FM Moved Jones, seconded Tydeman, that portions of N773 be incorporated into the C9X draft as follows: Item 1, replacing "correctly" with "successfuly" Item 2 as is Item 3 as is Item 4 as is, option A only Item 7 as is Item 9 as is Item 10 as is Item 11, replacing "should" with "can" Item 12 as is Item 14 as is, but as a footnote at the end of paragraph 3 Item 15 as is Item 16 as is Item 17 as is Item 19, adding "(8 occurrances)" between "instance" and "of:" Item 20 as is Item 21, adding "paragraph 7" after "6.3" FV 11/0/2/0/13 passed CV 3/0/0 consensus 15. Feather, N732, Meaning of Implementation-Defined We have agreement in principle about Feather's definitions of unspecified and implementation-defined behavior...deferred for exact words. 16. MacDonald, N768, Current C9X Tweak List FM Moved MacDonald, seconded Gwyn, that Items 6 and 9 from N768, Current C9X Tweak List, be incorporated into the C9X draft with the following wording changes: In Item 6, add "If this pragma is used in any other context, the behavior is undefined." In Item 9, change "domain error" to "range error" FV 9/0/3/1/13 passed CV 3/0/0 consensus 17. Thomas, N757, Miscellaneous FP cleanup items FV Moved Thomas, seconded Tydeman, that the following changes be incorporated into the C9X draft: Remove 7.7.6.12, The scalb function Remove F.9.3.12, The scalb function Remove scalb from the list in 7.9.1[5], Type-generic macros Remove the scalb declaration from D.6, Mathematics FV 9/0/3/1/13 passed CV 3/0/0 consensus 18. Gwyn, N762, Minor Changes to C9X FM Moved Gwyn, seconded Jones, that portions of N762 be incorporated into the C9X draft as follows: Item 5 as is Item 7 as is Item 8, removing "only" from footnote 104 in 6.5.3.1 Item 11, removing paragraph 2 of 6.8.1 Item 14 as is Item 15 as is FV 9/0/3/1/13 passed CV 3/0/0 consensus --------------------------------------------------------------------- Tuesday Afternoon The Chair notes that Tom Plum of Plum-Hall has arrived, bringing the number of J11 voting members present to 14. 19. Feather, N764, Issues About time Shall we change strftime in accordance with Part D? SV 3/5/7, those voting no did so because of lack of interest Shall we use option C of part F as ammended? SV 12/0/3 Shall times always be Gregorian? SV A Shall we provide DST capability similar to Part H? SV 5/3/7 FM Moved Gwyn, seconded Jones, that N764 as ammended by the following portions of N781 be incorporated into the C9X draft. Part A as is Part B as is Part C, retaining the footnote and changing the words to "The range [0,60] for tm_sec allows for a positive leap second." Part E as is Part F option Fc, changing "on a member" to "on one or more members" Part G as is FV 8/0/5/1/14 passed CV 3/0/0 consensus 20. MacDonald, N766, Inlining Issues Shall we disallow calling functions with internal linkage from an inlined function? SV 7/2/7 FM Moved MacDonald, seconded Tydeman, that Issue 1 of N766 be incorporated as is into the C9X draft. FV 8/0/5/1/14 passed CV 2/1/0 consensus FM Moved MacDonald, seconded Gwyn, that Issue 2 of N766 be incorporated as is into the C9X draft. FV 10/0/3/1/14 passed CV 1/0/2 consensus FM Moved MacDonald, seconded Zeeb, that the typos and tweaks from N766 be incorporated into the C9X draft as follows: Paragraph 3, the second alternative as is Item 7 as is Item 8, correcting the spelling of "wtih" only Item 9 as is Item 10 as is FV 11/0/3/0/14 passed CV 3/0/0 consensus 21. Gwyn, N762, Minor Changes to C9X. Shall we require implementations to provide signal blocking? SV 4/7/5 FM Moved Gwyn, seconded Robinson, that portions of N762, Minor Changes to C9X, be incorporated into the C9X draft as follows: Item 17, changing section number to 7.11.1.1 Item 18 as is Item 20 as is Item 21, but without 21.2.1, and changing "which" to "that" FV 11/0/3/14 passed CV 3/0/0 consensus 22. MacDonald, N766, new inlining issues FM Moved MacDonald, seconded Gwyn, that the following two changes be made to the C9X draft: 1. Change 6.5.4, Function specifiers, paragraph 8, fourth sentence to read, "If all the file scope declarations for a function in a translation unit include the inline function specifier without extern, then the definition in that translation unit is an inline definition." 2. Change the last word in footnote 105 from "inline" to "inlined". FV 12/0/2/0/14 passed CV 3/0/0 consensus 23. MacDonald, N767, Some General C9X Issues FM Moved MacDonald, seconded Hoerth, that the following change be incorporated into the C9X draft: Move the constraint from 6.5.2, Type specifiers, paragraph 3 to 6.5.5.2, Array declaraters, after paragraph 1; and move 6.5.2.3, Tags, Example 4 to 6.5.5.2, Array declaraters. FV 11/0/3/0/14 passed CV 3/0/0 consensus FM Moved MacDonald, seconded Hoerth, that the following portions of N767 be incorporated into the C9X draft: Item 2, but 5.1.2.1, Program execution, example 5, should begin, "Likewise, implementations cannot generally replace decimal constants..." Item 3 as is Item 4, changing "seven" to "several" Item 5 as is Item 6 as is FV 11/0/3/0/14 passed CV 2/0/0 consensus ---------------------------------------------------------------------- Wednesday Morning 24. Jones, Miscellaneous fixes Shall the size argument to setvbuf be ignored if buf is null? SV 3/3/9 25. Questions relating to the presentation of the C9X draft The indexing process is still partly manual. It deserves some one-time work to get it done right. We'd like to be able to refer to the same footnote in several places. There's a solution, but it's not easy. 26. London minutes Without objection, the London minutes are accepted as ammended in item 1.6 above. 27. Feather, N782, Cleanup of Agregate Initialization FM Moved Gwyn, seconded Tydeman, that N782 be incorporated into the C9X draft as is. FV 10/0/4/0/14 passed CV 3/0/0 consensus 28. Gwyn, N762, Minor Changes to C9X FM Moved Gwyn, seconded Tydeman, that the following portions of N762 be incorporated into the C9X draft: Item 22, changing two occurrances of plain "char" to "signed char" Item 24 as is FV 11/0/3/0/14 passed CV 3/0/0 consensus 29. MacDonald, N767, Some General C9X Issues FM Moved MacDonald, seconded Zeeb, that the following portions of N767 be incorporated into the C9X draft: Item 10 as is Item 12 as is Item 14, striking the first sentence of the footnote Item 15, changing a second occurance of "named members" to "members" Item 16 as is Item 17 as is FV 11/0/3/0/14 passed CV 2/0/1 consensus 30. Feather, N784, Additional Flexibility for Inlining Implementations FM Moved Seebach, seconded Jones, that N784 be incorporated as is into the C9X draft. FV 3/6/5/0/14 failed CV 1/1/1 no consensus 31. Feather, N785, Meaning of "definition" FM Moved Jones, seconded Tydeman, that N785 be incorporated as is into the C9X draft. FV 10/0/4/0/14 passed CV 3/0/0 consensus 32. Feather requests guidance on what signal handlers may do. SIGINT and SIGFPE may not call exit() or longjmp() but should be able to call abort(). Any signal handler may call a new function, _exit(), which does nothing except return an error status to the operating system. -------------------------------------------------------------------- Wednesday Afternoon 33. Feather, N774, Assorted Minor Substantive Issues FM Moved Jones, seconded Tydeman, that item 4 of N774 be incorporated as is into the C9X draft. FV 9/0/4/1/14 passed CV 2/0/1 consensus Shall the constraint mentioned in item 5 be moved into semantics? SV 5/6/3 FM Moved Seebach, seconded MacDonald, that item 5 of N774 be incorporated into the C9X draft up to and including "[Retain the existing examples.]" FV 5/4/4/1/14 passed CV 2/0/1 consensus 34. Feather for Glassborow, N727, Integral-to-Integer Wording Change FM Moved MacDonald, seconded Gwyn, that the changes recommended by N727 be incorporated as is into the C9X draft. FV 9/0/4/1/14 passed CV 3/0/0 consensus 35. Tydeman, N747, IEC 559 Binding: Signaling NaNs It was not generally believed that there is any commercial value or interest in signaling NaNs. No action taken. 36. Tydeman, N776, seek and ungetc The correct order is thought to be: Determine new file position Undo the effects of ungetc Clear EOF Set new file position Deferred, Jones will write the words. 37. Gwyn, implicit function return issue FM Moved Gwyn, seconded Robinson, that the last sentence of paragraph 4 of 6.6.6.4, The return statement, be deleted; and a new last paragraph be added to 6.7.1, Function definitions, which reads: "If the } that terminates a function is reached, and the value of the function call is used by the caller, the behavior is undefined." FV 8/0/5/1/14 passed CV 3/0/0 consensus 38. MacDonald, N766, Inlining Issues Shall the declaration ordering restriction on inline functions (item 3 of N766) be removed from the standard? SV 10/1/4 39. Meyers, N770, Trigraphs and Universal Character Names Deferred for quick vote later. 40. Feather, N774, Assorted Minor Substantive Issues Shall the Item 8 change be made? SV 5/5/5 Shall we allow unprintable letters? SV 3/2/10 Shall we add a footnote saying that there can be unprintable letters? SV 2/4/9 FM Moved Jones, seconded Gwyn, that the following portions of N774 be incorporated into the C9X draft: Item 6 as is Item 7, with "After all rewrites, " added to the beginning of the new constraint in 6.5.5.3 and adding the footnote "Arrays and functions are rewritten as pointers." Item 10 as is FV 8/0/5/1/14 passed CV 3/0/0 consensus 41. Tydeman, N777, File Position Indicator, fgetc Agreed in principle. Deferred for wordsmithing. ------------------------------------------------------------------------- Wednesday Evening 42. Feather, N774, Assorted Minor Substantive Issues FM Moved Gwyn, seconded Jones, that items 13, 14 and 15 of N774 be incorporated as is into the C9X draft. FV 6/0/3/5/14 passed CV 3/0/0 consensus 43. Jones, N776, fseek and ungetc FM Moved Jones, seconded Tydeman, that paragraph 5 of 7.13.9.2, The fseek function, be changed to: "After determining the new position, a successful call to the fseek function undoes any effects of the ungetc function on the stream, clears the end-of-file indicator for the stream, and then establishes the new position." FV 7/0/3/4/14 passed CV 3/0/0 consensus 44. MacDonald, N766, Inlining Issues FM Moved MacDonald, seconded Zeeb, that paragraph 5 of 6.5.4, Function specifiers, be deleted from the C9X draft. FV 6/0/4/4/14 passed CV 1/1/1 no consensus 45. Meyers on Item 17 of Feather, N774, Assorted minor substantive issues FM Moved Seymour, seconded Zeeb, that paragraph 2 of 7.15.6.2, The strerror function, be changed to read: "The strerror function maps the number in errnum to a message string. Typically, the values for errnum come from errno, but strerror shall map any value of type int to a message." FV 8/0/3/3/14 passed CV 3/0/0 consensus 46. Jones on Tydeman, N777, File position indicator after fgetc failure FM Moved Tydeman, seconded Jones, that in 7.13.8.1, The fgetc function, change the description to: "If a next character is present from the input stream pointed to by stream, the fgetc function obtains that character as an unsigned char converted to an int and advances the associated file position indicator for the stream (if defined)." and that in 7.19.3.1, the fgetwc function, change the description to: "If a next wide character is present from the input stream pointed to by stream, the fgetwc function obtains that wide character and advances the associated file position indicator for the stream (if defined)." FV 8/0/3/3/14 passed CV 3/0/0 consensus 47. Feather, N783, Significant Outstanding Issues Shall we make the struct hack legal? SV 5/0/10 FM Moved Gwyn, seconded Jones, that the following portions of N783 be incorporated into the C9X draft: Item 3, with "would be specified" becomming "is specified" and "had been" becomming "are" Item 13, using the second version of paragraph 2 FV 6/0/5/3/14 passed CV 3/0/0 consensus --------------------------------------------------------------------- Thursday Morning The Chair announces that he has heard from Keaton and that the scheduled February meeting in Colorado is still on. 48. Denmark wishes to change its vote on MacDonald's N766, Item 3 (see item 44 above) from abstain to yes. The new national body vote is 2/1/0 which the convener interprets as consensus. 49. Feather, N783, Significant Outstanding Issues Shall #undeffing identifiers beginning with underscores be undefined? SV 5/4/6 FM Moved Tydeman, seconded Gwyn, that item 6 of N783 be incorporated as is into the C9X draft. FV 3/4/6/1/14 failed CV 2/1/0 consensus 50. Japanese comments, N786 1.1. <% and %> should be punctuators rather than operators. This is correct and moot because N672 fixes the problem. 1.2. 1. OK with "Nan" changed to "NaN". 2. already done 3. OK 4. OK 5. OK in principle, deferred to Jones for wording 6. already done 7. already done 8. OK in principle, deferred to Jones for wording 9. OK 1.3. OK, will be fixed in upcomming papers 1.4. OK 1.5. "The subject sequence contains no [wide] characters if the input [wide] string is not of the expected form." 3.1. already done 3.2. correct, ongoing work 3.3. 1. already done 2. OK, with "fsetops" understood to mean "fsetpos" *** Benito will respond to the Japanese comments. 51. Jones, miscellaneous nits FM Moved Jones, seconded Gwyn, that paragraph 3 of 6.6.4.1, The if statement, be changed to read: "An else is associated with the lexically nearest preceding if that is allowed by the grammar." FV 7/0/4/3/14 passed CV 3/0/0 consensus FM Moved Jones, seconded Tydeman, that the next to last sentence of paragraph 2 of 7.13.5.6, The setvbuf function, be changed to read: "If buf is not a null pointer, the array it points to may be used instead of a buffer allocated by the setvbuf function and the argument size specifies the size of the array; otherwise, size may determine the size of a buffer allocated by the setvbuf function." FV 6/0/8/0/14 passed CV 2/0/1 consensus 52. Feather, N708, Issues with size_t and ptrdiff_t Shall work be done on size_t and ptrdiff_t? SV 3/8/7 53. Feather, N775, Relationships between Unsigned Types FM Moved Gwyn, seconded Tydeman, that N775 be incorporated into the C9X draft, making the forward reference be to "integer conversion rank [6.2.1.1]". FV 8/0/6/0/14 passed CV 3/0/0 consensus 54. Gwyn, N788, Rewrite of C9X Subclause 7.4 Shall we have footnotes naming macros that C++ can use to conditionally #include stdio-related parts of the header? SV 8/1/8 Shall we specify "typedef names" where "names" means that? SV 7/3/5 ------------------------------------------------------------------------ Thursday Afternoon 55. Jones, Concatenation of Narrow and Wide Literals FM Moved Jones, seconded Tydeman, that paragraph 4 of 6.1.4, String Literals, Semantics, be changed to read: "In translation phase 6, the multibyte character sequences specified by any sequence of adjacent character and wide string literal tokens are concatenated into a single multibyte character sequence. If any of the tokens are wide string literal tokens, the resulting multibyte character sequence is treated as a wide string literal; otherwise, it is treated as a character string literal." and remove related undefined behavior. FV 11/0/2/1/14 passed CV 3/0/0 consensus 56. Feather, N765, Issues with Representation of Values FM Moved Seebach, seconded Gwyn, that parts A and B of N765 be incorporated into the C9X draft, replacing two occurrances of "types" with "integer types" in the replacement paragraph 4. FV 7/0/6/1/14 passed CV 3/0/0 consensus 57. Gwyn, N788, Rewrite of C9X Subclause 7.4 *** Gwyn to provide rationale for 7.4.5, Limits of other integer types 58. Tydeman, N792, C9X and LIA-1 Informative Annex FM Moved Tydeman, seconded Gwyn, that the new annex H, Language Independent Arithmetic, as described in N792, be incorporated into the C9X draft, changing the last sentence of H.2.3 to: "An implementation that uses IEC 559 floating-point formats and operations (see Annex F) along with IEC 559 status flags and traps has LIA-1 conformant types." FV 9/2/3/0/14 passed, Sun and HP opposed CV 3/0/0 consensus 59. Feather, N789, Changes to Signal Handling Shall we have _exit()? SV 8/3/4 FM Moved Seebach, seconded Tydeman, that N789, Changes to Signal Handling, be accepted for inclusion into the C9X draft, changing "no action" to "neither action", and passed to an editorial review committee for the purpose of wording or rejecting the _exit function. FV 6/5/3/0/14 passed, SGI opposed FM Moved Hoerth, seconded Walls, to reconsider the previous vote. FV 8/3/2/1/14 passed Reconsideration: FV 6/6/1/1/14 failed, SGI opposed CV 2/1/0 consensus *** Hoerth, MacDonald, Walls, Tydeman, Zeeb, Seebach and Harrison will be the editorial review committee. 60. Kristoffersen, ; Evenson, UDI I/O Mark Evenson, UDI Vice Chair, was invited to present the UDI proposal for low-level I/O. Also attending are John Lee and Jerry Gilliam of Sun. FM Moved MacDonald, seconded Farance, that the I/O discussion be extended fifteen minutes. FV 9/1/4/0/14 passed CV 2/1/0 consensus FM Moved Hoerth, seconded Walls, that J11 take the position that an I/O annex is inappropriate at this time, and that a group be formed to produce a technical report that can be used as input to possible future revision of the standard. FM Moved Farance, seconded Plum, that the motion be laid on the table. FV 4/4/6/0/14 failed FV 10/1/3/0/14 passed The Danish position is that the I/O proposal is ready to go into the standard as it is. The standardization method is prior art and as such well tested on a large range of platforms and DK therefore see no reason to delay the inclusion further. Kristoffersen welcomes input from the UDI group. However, he would like to note that he has invited IO experts from the compiler vendors before (Kona) and is sorry that they now show up so late in standardization process, with delay of I/O standardization in C9X as a result. Do WG14 agree with the J11 vote? CV 2/1/0 consensus -------------------------------------------------------------------------- Thursday Evening 61. Feather, N774, Assorted Minor Substantive Issues Discussion of item 3 in N774 led to the motion: FM Moved MacDonald, seconded Tydeman, that paragraph 5 of 6.3.2.3, Function calls, be changed to read: "...the types of the arguments after promotion are not compatible with those of the parameters after promotion, the behavior is undefined | except for the following cases: | - one promoted type is a signed integer type, the other | promoted type is the corresponding unsigned integer type, | and the value is representable in both types; | - one type is pointer to void and the other is a pointer | to a character type. If the function is defined..." FV 10/0/4/0/14 passed CV 3/0/0 consensus FM Moved MacDonald, seconded Seebach, that item 1 of N774 be incorporated into the C9X draft, with paragraph 1 of 6.2.1.7 changed to read: "Many operators that expect ... For the specified operands, each operand ... Unless explicitly stated otherwise, the common real type..." FV 8/0/6/0/14 passed CV 2/0/1 consensus 62. MacDonald, N766, Inlining Issues Discussion of the final issue (#3) in N766 led to the motion: FM Moved MacDonald, seconded Benito, that the first two lines of the example in 6.5.4, Function-specifiers, paragraph 9, be moved after the definition of cels in the same example. FV 9/0/5/0/14 passed CV 2/0/1 consensus 63. Feather, N790, The Meaning of "implementation-defined" Discussion of part 4 of N790 lead to the motion: FM Moved Seebach, seconded Jones, that paragraph 5 of 7.13.4.4 be changed to read: "If the tmpnam function cannot generate a unique name that is not the name of an existing file, it returns a null pointer. Otherwise, ..." FV 4/6/4/0/14 failed CV 1/1/1 no consensus FM Moved Jones, seconded Tydeman, that the following parts of N790, The Meaning of "implementation-defined", be incorporated into the C9X draft: Part 1, changing "An otherwise correct program," to "A program this is correct in all other respects," Part 3, including the last sentence of the original paragraph in the new paragraph, and not adding to recomemded practice Part 6 as is Part 7 as is Part 8 as is FV 7/3/4/0/14 passed CV 2/0/1 consensus 64. Plum on Item 7 of Feather, N783, Significant Outstanding Issues FM Moved Plum, seconded Seebach, that the following words be added before 7.13.6.1, The fprintf function, and before 7.19.2.1, The fwprintf function: "The formatted input/output functions[footnote] shall behave as if there were a sequence point after the actions associated with each specifier." ---------- Footnote: "The printf functions perform writes to memory for the %n specifier." FV 10/0/3/1/14 passed CV 3/0/0 consensus -------------------------------------------------------------------------- Friday Morning *** Benito will ask Simonsen to set up a UDI-related e-mail reflector that will reflect to the WG14 reflector as well. 65. Jaeschke/Benito, N780, POSIX Alignment In the absence of the Liason, Jaeschke and Benito presented the paper. In the absence of the Head of the Danish Delegation, the Danish representative who is present stated that he cannot represent any official Danish position other than support for the paper as is. Character testing functions, isblank and iswblank: - new words needed in 7.18.2.2.2, The iswctype function FM Moved Gwyn, seconded Farance, that the isblank and iswblank functions as specified in N780 be added to the C9X draft. FV 3/4/7/0/14 failed CV 1/2/0 no consensus Table 1: some corrections needed; should be informative, not normative; Shall Table 1 be included in the Standard as non-normative text? SV 4/6 By default, Table 1 will go into the Rationale. 7.3.2, Character case mapping functions FM Moved Gwyn, seconded Tydeman, that the changes to tolower, toupper, towlower and lowupper as stated in N780 be applied to the C9X draft. FV 6/1/6/1/14 passed CV 3/0/0 consensus UK asks the editor to note that this change must be merged into other changes made earlier this week. 7.5, Localization FM Moved Tydeman, seconded Gwyn, that the changes to 7.5, Localization, as specified in N780 be applied to the C9X draft. FV 7/0/7/0/14 passed CV 3/0/0 consensus 7.5.2.1, int_curr_symbol different from currency_symbol FM Moved Jaeschke, seconded Jones, that the following members be added to struct lconv int_p_cs_precedes int_p_sep_by_space int_n_cs_precedes int_n_sep_by_space int_p_sign_posn int_n_sign_posn FV 0/8/6/0/14 failed CV 1/2/0 no consensus Comment: They do not exist in POSIX. 7.5.2.1, The localeconv function FM Moved Gwyn, seconded Jones, that a third value be added to p_sep_by_space and n_sep_by_space as specified in N780. FV 0/6/7/1/14 failed CV 0/2/1 no consensus 66. Meyers, N770, Trigraphs and Universal Character Names FM Moved Seebach, seconded MacDonald, that 5.1.1.2, paragraph 1, Translation Phase 1, be replaced by the following words: "Physical source file multibyte characters are mapped to the source character set (introducing new-line characters for end-of-line indicators) if necessary. Any multibyte source file character not in the basic source character set is replaced by the universal-character-name that designates that multibyte character. [footnote 6] Then, trigraph sequences are replaced by corresponding single-character internal representations." FV 10/0/3/1/14 passed CV 3/0/0 consensus The Chair notes that Roger Golliver of Intel has arrived, bringing the number of J11 voting members present to 15. 67. Feather, N793, New time functions FM Moved Seebach, seconded Tydeman, that N793 be incorporated as is into the C9X draft. FV 6/2/7/0/15 passed CV 2/0/1 consensus 68. MacDonald, N767, Some General C9X Issues Discussion of item 11 in N767 led to the motion: FM Moved MacDonald, seconded Seebach, that the following change be made to 6.2.1.3, paragraph 3 of the C9X draft: "An integer may be converted to any pointer type. The result is implementation-defined, might not be properly aligned, and might not point to an entity of the referenced type." FV 11/0/3/1/15 passed CV 3/0/0 consensus Shall assignment of incompletely initialized structures be undefined? SV 9/2/7 69. MacDonald, Hexadecimal Floating-Point Constants FM Moved MacDonald, seconded Tydeman, that the following floating-point constants be added to 5.2.4.2.2, : FLT_EPSILON 0X1P-23F FLT_MIN 0X1P-126F FLT_MAX 0X1.fffffeP127F DBL_EPSILON 0X1P-52 DBL_MIN 0X1P-1022 DBL_MAX 0X1.ffffffffffffeP1023 FV 7/0/4/4/15 passed CV 2/0/1 consensus 70. Gwyn, not ready today FM Moved Gwyn, seconded Tydeman, that N788 be passed to an editorial review committee to draft the final words for inclusion into the C9X draft. FV 12/0/3/0/15 passed CV 3/0/0 consensus *** Feather, Gwyn, Walls and Seebach well be editorial review committee. 71. Plum, ammendment to Gwyn, N788, Rewrite of C9X Subclause 7.4 , [new working draft] FM Moved Plum, seconded Tydeman, that a new paragraph 6 be added at the end of 7.4.8 containing the following words: in 7.4.8 "The implementation shall enclose the macros of sections 7.4.8, 7.4.9, and 7.4.10 within the following directive: #if !defined(__cplusplus) || defined(__STDC_INTTYPES_LIMITS)" in 7.4.11 "The implementation shall enclose the macros of sections 7.4.11 within the following directive: #if !defined(__cplusplus) || defined(__STDC_INTTYPES_PRINT_SCAN)" and add in 6.8.8 "The implementation shall not define the macro __cplusplus." FV 9/1/5/0/15 passed CV 3/0/0 consensus 72. Benito, CD issues *** Walls, Benito, Farance, Jaeschke, Thomas and MacDonald will be the editorial review committee for the C9X CD. *** Farance will put the C9X draft on the private FTP site on or before 4 Nov. Benito asks that committee members' personal comments on the draft not be sent to the WG14 reflector, but rather be sent privately to both Benito and Farance. 73. MacDonald, N767, Some General C9X Issues Discussion of item 8 in N767 led to the motion: FM Moved MacDonald, seconded Seebach, that paragraph 3 of 6.1.2.8.1 be changed to read: "Certain object representations might not represent a value of that type. If the stored value of an object has such a representation and is accessed by an lvalue expression that does not have character type but does have one of the other access types listed in 6.3, the behavior is undefined. If such a representation is produced by a side effect that modifies all or any part of the object by an lvalue expression that does not have character type but does have one of the other access types listed in 6.3, the behavior is undefined. Such representations are called trap representations." FV 11/0/4/0/15 passed CV 3/0/0 consensus 74. Feather, N791, Solving the struct hack problem FM Moved Seebach, seconded Gwyn, that N791 be incorporated as is into the C9X draft. FV 6/2/6/1/15 passed CV 2/0/1 consensus WG14 and J11 expressed their thanks to Walls and Sun Microsystems for hosting the meetings. The meetings were adjourned at 12:02 PM, Friday, 24 October 1997. ----------------------------------------------------------------------- Attendance Co-located Meetings of ISO/IEC JTC1/SC22/WG14 and NCITS J11 20-24 October 1997 Menlo Park, California, USA -------------------------------------------------------------- J11 Attendees | M | T | W | T | F | -------------------------------------------------------------- P Self, Randy Meyers ..................... | X | X | X | X | X | P Digital, Jeff Zeeb ..................... | X | X | X | X | X | P Farance Inc., Frank Farance ............ | X | X | X | X | X | P Hewlett-Packard, Mark Hoerth ........... | X | X | X | X | X | P Perennial, John Benito ................. | X | X | X | X | X | A Perennial, Tom Robinson ................ | X | X | X | X | X | P SDRC, Larry Jones ...................... | X | X | X | X | X | P SGI/Cray, Tom MacDonald ................ | X | X | x | X | X | P Sun Microsystems, Douglas Walls ........ | X | X | X | X | X | P Unisys, Bob Harrison ................... | X | X | X | X | X | P U.S. Army, Doug Gwyn ................... | X | X | X | X | X | P Self, Rex Jaeschke ..................... | X | X | X | X | X | P Self, William Seymour .................. | X | X | X | X | X | P Self, Peter Seebach .................... | X | X | X | X | X | P Tydeman Consulting, Fred Tydeman........ | X | X | X | X | X | A Hewlett-Packard, Jim Thomas ............ | X | X | X | X | X | P Plum Hall, Tom Plum .................... | - | X | X | X | X | P Intel, Roger Golliver .................. | - | - | - | - | X | P Keaton Consulting, David Keaton ........ | - | - | - | - | - | P IBM Corp, Erin Harris .................. | - | - | - | - | - | -------------------------------------------------------------- -------------------------------------------------------------- WG14 Attendees | M | T | W | T | F | -------------------------------------------------------------- Canada - Erin Harris ................... | - | - | - | - | - | Denmark - Jan Kristoffersen ............ | X | X | X | X | X | U.K. - Clive D. W. Feather ............. | X | X | X | X | X | U.S. - Douglas Walls ................... | X | X | X | X | X | -------------------------------------------------------------- -------------------------------------------------------------------------- U.S. TAG Meeting 23 October 1997 Menlo Park, CA FM Moved Jaeschke, seconded Jones, that MacDonald be the J11 liason to J3 for the FORTRAN to C project. FV 14/0/0/0/14 passed The meeting was adjourned.