Document number: WG14 N763 (J11 97-127) Title: Status of approved proposals for C9X (Pre-Menlo Park revised) Author: Douglas Walls Date: September 17, 1997 Below find the status of approved proposals for inclusion in C9X, i.e. proposals at Stages 3-6, as applied to C9X draft 11pre3. The proposal numbers represent the last papers seen by the committee on this proposal. The dates represent the meeting date at which the proposal was approved. See the minutes of that meeting for full details. Proposals approved and already included in the C9X draft, stage 5: N401 (2/96) Has errors in the current c9x draft. N448 (10/95) Restricted pointers N472 (10/95) Designated initializers N505 (6/96) Make qualifiers idempotent Final words for this proposal appear in the 6/96 Amsterdam meeting minutes, N615. N522 (2/96) Tag compatibility Final words as seen by the full committee approved by the review committee. This was added to the C9X draft. N568 (10/96) Stringizing empty pp_token sequences N570 (2/96) Empty arguments in macro replacement N570 is result of editorial review committee, N548 was approved at 2/96 meeting prior to final wording N579 (10/96) Add to translation phase 4 "All preprocessing directives are then deleted". Final words for this change appear in the 10/96 Toronto meeting minutes. N590 (10/96) Translation Limits Approved with changes detailed in the 10/96 Toronto minutes. N593 (10/96) New Form of Pragma N595 (10/96) Floating Point C Extensions Approved with changes detailed in the 10/96 Toronto minutes. Problems with some footnotes and tables remain, otherwise it has been added to the c9x draft. N596 (10/96) Complex C Extensions, w/Imaginary types in an informative Annex Approved as amended by N620, see 10/96 Toronto minutes. Problems with some footnotes and tables remain, otherwise it has been added to the c9x draft. N599 (10/96) Restricted pointer library changes Approved with changes detailed in the 10/96 Toronto minutes. N601 (10/96) long long int Approved with changes detailed in the 10/96 Toronto minutes. N617 (10/96) Signed integer division Approved with changes detailed in the 10/96 Toronto minutes. N629 (02/97) Type rules for decimal integer constants Approved with changes detailed in the 02/97, Kona minutes N631 (02/97) Standard Pragmas Approved with changes detailed in the 02/97, Kona minutes N634 (02/97) New Form of Pragma, Version 4 Approved as amended by the 02/97, Kona minutes N635 (02/97) Implicit int removal (old-style parameters) Approved with changes detailed in the 02/97, Kona minutes N636 (02/97) Implicit function declaration removal N638 (02/97) Floating-Point and Complex Arithmetic Enhancements Approved items 1, 2, 4, 7 with changes to #7 detailed in the 02/97, Kona minutes. N640 (02/97) Access to Objects Approved with changes detailed in the 02/97, Kona minutes N644 (02/97) Add // comments Approved with changes detailed in the 02/97, Kona minutes N645 (02/97) Alternative to sprintf Approved with changes detailed in the 02/97, Kona minutes N651 (02/97) C9X, Editorial use term "real-floating" Approved with changes detailed in the 02/97, Kona minutes N655 (02/97) N504 and N643 (C9X Draft 8) N657 (02/97) Floating-Point and Complex Arithmetic Enhancements Approved item 9, 13 and 14 as is. Approved item 6, 11 and 12 with changes detailed in the 02/97, Kona minutes N661 (02/97) Disallow implicit "int" in declarations N673 (06/27) adjustments to phases of translation Only changes for 5.1.1.2 as approved in the 06/97, London minutes N685 (06/97) Compatibility Issues with Union Members N686 (06/97) Obsolescent Features of the C standard Delete 6.9.5, Array parameters from the obsolescent list in C9X N688 (06/97) namespace issues Approved as amended by the 06/97, London minutes N692 (06/97) Implicit int cleanup N695 (06/97) Grammar Start Symbol Approved as amended by the 06/97, London minutes N696 (06/97) Standard Pragmas - Improved Wording Approved as amended by the 06/97, London minutes N703 (06/97) Standards wording for ungetc Approved as amended by the 06/97, London minutes N721 (06/97) Unary * operator - a fix Approved as amended by the 06/97, London minutes N722 (06/27) removing implicit int (from N692) N723 (06/97) Changes to shift operators Approved as amended by the 06/97, London minutes N728 (06/97) scalbn N733 (06/97) New formats for strftime() Approved as amended by the 06/97, London minutes N734 (06/97) Misc. FP Cleanup Items Approved as amended by the 06/97, London minutes N735 (06/97) General Wording Issues Approved as is Option b of item 1 N741 (06/97) Inlining Proposal Approved as amended by the 06/97, London minutes Proposals approved for inclusion into the C9X draft that have been partially applied, i.e. between stage 4 & 5: DR142 (06/97) Reservation of macro names Words appear in the 6/97, London minutes N587 (02/97) Proposed wording for bool Approved with changes detailed in the 02/97, Kona minutes N602 (10/96) strtoimax() & strtoumax() functions Approved with changes detailed in the 10/96 Toronto minutes. N611 (10/96) Addition of predefined identifier __func__ Approved with changes detailed in the 10/96 Toronto minutes. N671 (06/97) va_copy Approved as amended by the 06/97, London minutes N675 (06/97) DRs 77, 143, 144, 146, 147 and 149 DR 77, approved as amended by the 06/97, London minutes Wording changes for DRs 144, 146, 147 & 149 approved as is N682 (06/97) Suggested edits for C9X Draft 9 section 6.5.3 (Restrict) Approved as amended by the 06/97, London minutes N683 (06/97) Final Edits for incorporating VLAs into C9X Approved as amended by the 06/97, London minutes N691 (06/97) Representation of values Approved as amended by the 06/97, London minutes N693 (06/97) Type-Generic Math Functions N694 (06/97) FP & Complex Arithmetic Enhancements Approved as amended by the 06/97, London minutes in two places N698 (06/97) Implementation Defined Integral Types Approved as amended by the 06/97, London minutes N701 (06/97) vscanf Approved as amended by the 06/97, London minutes N705 (06/97) Defect Reports since TC2 that promise some action in C9X Approved DR 145, 150, 155, 158 & 162 as amended by the 06/97, London minutes Approved DR 160 as is N707 (06/97) Varargs for function-like macros N716 (06/97) Compound literals N717 (06/97) Extended Identifiers Approved as amended by the 06/97, London minutes N724 (06/97) Minor alteration to representation of types N729 (06/97) Mode strings in fopen() N736 (06/97) Preprocessor arithmetic Approved as amended by the 06/97, London minutes N739 (06/97) General wording issues (N676 updated) Approved items 2,3,4,5,6A,6B,8,9A,10 & 14 with corrections to 5 and 6A as recorded by the 06/97, London minutes N740 (06/97) Mixing declarations and code Approved as amended by the 06/97, London minutes Proposals with final words approved for inclusion into the C9X draft that have not yet been applied, stage 4: N738 (06/97) Improved boolean wording Approved without words at 06/97, London meeting Intent was to add it to C9X draft w/o further vote however, the motion is the standard stage 3 motion to pass the proposal to editorial review committee to draft final words. N743 (06/97) Bit - field Enhancements (Amends N738) Approved without words at 06/97, London meeting Same as N738 ... Proposals principally approved, final wording to be drafted by review committee, stage 3: N672 (06/97) reorder subclauses 6.1 and 6.2 N725 (06/97) Simplified integer conversion rules Reminder of what the stages mean, the stages only give the state the proposal is in. Proposals can skip stages. This is adapted from N556 and N585 as accepted at the June 96, Amsterdam meeting: Stage 1 = proposal w/o technical details requesting interest from WG14 for development of a technical proposal. Stage 2 = technical proposal, ready for consideration by WG14. Stage 3 = principally accepted, for inclusion into C9X. At this stage the exact C9X changes must be drafted and edited by the review committee. After review, the final C9X changes are to be included in a mailing for final approval by WG14 for inclusion into the C9X draft. Stage 4 = accepted by WG14 for inclusion as is into C9X. The proposal contains the specific editing instructions to change the C9X draft, and is ready to be included in the next C9X draft. Stage 5 = changes applied to the latest C9X draft. Stage 6 = verified by the review committee as being correctly applied in the C9X draft.