JTC1/SC22/WG14
N874
Document number: WG14 N874 (J11/99-009)
Title: Status of approved proposals for C9X, FCD (Post-Portland)
Author: Douglas Walls
Date: February 5, 1999
Below find the status of approved proposals for inclusion in C9X, i.e.
proposals at Stages 3-6, as applied to C9X FCD (WG14-N843/SC22-N2794).
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.
Status is also given on the Annexes, index and table of contents.
Proposals approved and already included in the C9X draft, stage 6:
Annex A thru J have been updated.
Table of Contents
DR142 (06/97) Reservation of macro names
Words appear in the 6/97, London minutes
DR156 (10/97) Defect Report 156 from N544
Approved as amended by the 10/97, Menlo Park minutes
N401 (2/96) <inttypes.h>
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
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.
N587 (02/97) Proposed wording for bool <stdbool.h>
Approved as amended by the 02/97, Kona minutes
N590 (10/96) Translation Limits
Approved as amended by the 10/96 Toronto minutes.
N593 (10/96) New Form of Pragma
N595 (10/96) Floating Point C Extensions
Approved as amended by the 10/96 Toronto minutes.
N596 (10/96) Complex C Extensions, w/Imaginary types in an informative Annex
Approved as amended by N620, see 10/96 Toronto minutes.
N599 (10/96) Restricted pointer library changes
Approved as amended by the 10/96 Toronto minutes.
N601 (10/96) long long int
Approved as amended by the 10/96 Toronto minutes.
N602 (10/96) <inttypes.h> strtoimax() & strtoumax() functions
Approved as amended by the 10/96 Toronto minutes.
N611 (10/96) Addition of predefined identifier __func__
Approved as amended by the 10/96 Toronto minutes.
N617 (10/96) Signed integer division
Approved as amended by the 10/96 Toronto minutes.
N629 (02/97) Type rules for decimal integer constants
Approved as amended by the 02/97, Kona minutes
N631 (02/97) Standard Pragmas
Approved as amended by 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 as amended by 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 as is.
Approved item 7 as amended by the 02/97, Kona minutes.
N640 (02/97) Access to Objects
Approved as amended by the 02/97, Kona minutes
N644 (02/97) Add // comments
Approved as amended by the 02/97, Kona minutes
N645 (02/97) Alternative to sprintf
Approved as amended by the 02/97, Kona minutes
N651 (02/97) C9X, Editorial use term "real-floating"
Approved as amended by 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 as amended by the
02/97, Kona minutes
N661 (02/97) Disallow implicit "int" in declarations
N671 (06/97) va_copy
Approved as amended by the 06/97, London minutes
N672 (06/97) reorder subclauses 6.1 and 6.2
N673 (06/27) adjustments to phases of translation
Only changes for 5.1.1.2 approved as amended by the
06/97, London minutes
N675 (06/97) DRs 77, 143, 144, 146, 147 and 149
Wording changes for DRs 144, 146, 147 & 149 approved as is
DR 77, approved as amended by the 06/97, London minutes
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
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
N691 (06/97) Representation of values
Approved as amended by the 06/97, London minutes
N692 (06/97) Implicit int cleanup
N693 (06/97) Type-Generic Math Functions
N694 (06/97) FP & Complex Arithmetic Enhancements
Approved as amended by the 06/97, London minutes
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
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
N703 (06/97) Standards wording for ungetc
Approved as amended by the 06/97, London minutes
N705 (06/97) Defect Reports since TC2 that promise some action in C9X
Approved DR 160 as is
Approved DR 145, 150, 155, 158 & 162 as amended by the 06/97,
London minutes
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
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
N724 (06/97) Minor alteration to representation of types
N725 (10/97) Simplified integer conversion rules
Approved as amended by the 10/97, Menlo Park minutes
N727 (10/97) Replace Uses of "Integral" by "Integer"
N728 (06/97) scalbn
N729 (06/97) Mode strings in fopen()
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
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 as amended
by the 06/97, London minutes
N740 (06/97) Mixing declarations and code
Approved as amended by the 06/97, London minutes
N741 (06/97) Inlining Proposal
Approved as amended by the 06/97, London minutes
N757 (10/97) Misc. FP cleanup items
Approved item 1 with words in the minutes for removing
scalb(), 10/97, Menlo Park minutes
Approved item 2 as amended by the 10/97, Menlo Park minutes
N759 (10/97) Bug in Compound Literals
Approved as amended by the 10/97, Menlo Park minutes
N760 (10/97) Editorial correction, for empty macro arguments
N762 (10/97) Minor Changes to C9X
Approved items 5, 7, 14, 15, 17, 18, 20, & 24 as is
Approved items 8, 11, 13, 21 w/o 21.2.1, & 22 as amended
by the 10/97, Menlo Park minutes
Items 17 & 18 were superseded by changes in N789.
N764 (10/97) Issues about time
Approved as amended by N781 and the 10/97, Menlo Park
minutes, i.e.
part A, B & G as is
part C & Fc amended (in minutes motion)
part E (as is from N781)
All items applied except for minor correction needed for
application of item G.
N765 (10/97) Issues with representation of values
Approved items A as is
Approved items B & C as amended by the 10/97, Menlo
Park minutes
N766 (10/97) Inlining Issues
Approved issues 1, 2, & nits for 6.5.4, paragraphs:
3 2nd choice, 7, 8 (spelling correction only), 9 (typo
only) & 10 as is
6.5.4 function specifiers paragraph 8 4th sentence
approved as amended by the 10/97, Menlo Park minutes
In 6.5.4, function specifiers delete paragraph 5 as per
the 10/97, Menlo Park minutes
Final issue (issue #3) approved with words replaced by
those in the 10/97, Menlo Park minutes
N767 (10/97) Some General C9X Issues
Approved items 3, 5, 6 10, 12, 16 & 17 as is
Approved items 2, 4, 8, 11, 14 & 15 as amended by 10/97,
Menlo Park minutes
Approved move 6.5.2 para 3 to 6.5.5.2 Array declarators
after para 1, move 6.5.2.3 Tags example 4 to 6.5.5.2
Array declarators as per the 10/97, Menlo Park minutes
N768 (10/97) Current C9X Tweak List
Approved items 1, 2, 4, 5, 7, 8, 10, 15 as is
Add items 6, 9, 11 to C9X as amended
by the 10/97, Menlo Park minutes
N770 (10/97) Trigraphs and Universal Character Names
Approved as amended by the 10/97, Menlo Park minutes
N772 (10/97) Header/Source file names
N773 (10/97) Consistency and clarification
Approved items 2, 3, 4 option a, 7, 9, 10, 12, 15, 16,
17, 20 as is
Approved items 1, 11, 14, 19, 21 as amended by the 10/97,
Menlo Park minutes
All items applied, however application of item 9B as
passed causes miswording of 7.11p3 (Signal handling)
N774 (10/97) Assorted minor substantive issues
Approved items 4, 6, 10, 13, 14, & 15 as is.
Approved items 1, 3, part of 5, 7, & 17 as amended by
the 10/97, Menlo Park minutes
Item 1 has not been applied correctly, the rest have
been applied correctly.
N775 (10/97) Relationships between unsigned types
Approved as amended by the 10/97, Menlo Park minutes
N776 (10/97) fseek & ungetc
Approved as amended by the 10/97, Menlo Park minutes
N777 (10/97) File position indicator after fgetc failure
Approved as amended by the 10/97, Menlo Park minutes
N780 (10/97) POSIX Alignment (Simonsen)
Approved changes to tolower(), toupper(), towlower(),
towupper(), and footnote for 7.5 Localization <locale.h>
as amended by the 10/97, Menlo Park minutes
N782 (10/97) Cleanup of aggregate initialization
N783 (10/97) Significant outstanding issues
Approved 6 as is.
Approved items 3, 7 & 13 as amended by the 10/97,
Menlo Park minutes
All items applied except item 13 missing last line of
a footnote
N785 (10/97) Meaning of "definition"
N786 (10/97) Japan comments on C9X draft 10
Approved as amended by the 10/97, Menlo Park minutes
1.1 Addressed in N672
1.2 Accept subpoints 1 as amended
Accept subpoints 3, 4, and 9 as is
subpoints 2, 6, 7 are done
Accept sub points 5 & 8, done along these lines by
Jones
1.3 Accepted subsumed by Jones paper
1.4 Accepted
1.5 Accepted as amended
2.1 Dropped by Japan
2.2 Dropped by Japan
3.1 Accepted along these lines
3.2 All cross references will be fixed
3.3 subpoint 1 is done
subpoint 2 will be done
N787 (10/97) October 20-24, 1997, Menlo Park minutes
1. Approved changes to 6.6.6.4 and 6.7.1, minutes item 37
2. Approved during the walk-thru of the draft, minutes item 51
Words for if/else problem ~6.6.6.1
Changes to setvbuf function
3. Approved allowing concatenation of adjacent character
and wide character string literals, (from N788
discussion) minutes item 55
4. Approved adding float/hex constants to C9X as
recorded in the minutes, minutes item 69
5. Approved wording to define protection of the
<inttypes.h> macros so they do not expand for C++ as
recorded in the minutes (from N788 discussion),
minutes item 71
N788 (10/97) Rewrite of C9x Subclause 7.4 <inttypes.h> (Gwyn)
Approved with words drafted via an editorial review
committee at 10/97, Menlo Park
N789 (10/97) Changes to signal handling
Approved as amended, with _exit() subject to editorial
review and acceptance by an editorial review committee,
by the 10/97, Menlo Park minutes
NOTICE: Editorial review rejected adding _exit().
N790 (10/97) The mean of "implementation-defined"
Approved items 6, 7 & 8 as is
Approved items 1 & 3 as amended by the 10/97, Menlo
Park minutes
N791 (10/97) Solving the struct hack problem
N792 (10/97) C9X and LIA-1 informative annex
Approved as amended by the 10/97, Menlo Park minutes
N793 (10/97) New time functions
Applied except for minor tweek needed to number of types
in first paragraph of 7.16.1, Components of time.
N804 (02/98) Editor's Report
Editorial changes discussed and accepted at 02/98 meeting,
as per unrecorded discussions
N809 (02/98) Change keywords complex and imaginary to _Complex and
_Imaginary
N810 (02/98) Macro Replacement In Pragmas
N812 (02/98) Minutes for Frisco Colorado 1998
Add <stdbool.h> to list of required std headers clause 4
Misc corrections to UCNs
N815 (06/98) True boolean type
Approved with the editorial change that
users may undef and redef the macros bool, true, and
false.
N822 (06/98) Formal model of sequence points
Approved as informative rather than normative.
N823 (06/98) DR166 -- lvalue constraints
Approved as:
An lvalue is an expression; it shall have an
object type or an incomplete type other than
void. When an lvalue expression is evaluated,
it shall designate an object.
N824 (06/98) Improved inlining words.
N825 (06/98) Problems with Undefined Behavior
Approved removing para 3 of 3.18 in CD1
N826 (06/98) Floating-point items
Approved items 1, 2, 3 as is.
Changed item 4 to changing gamma to tgamma
N829 (06/98) Floating-point accuracy (DR 63)
N833 (06/98) printf/scanf modifiers
Approved using z, t, and j (as suggested in discussion
point 2) with the addition of allowing the modifiers
with %n as well.
N835 (06/98) Rvalue arrays
Approved with editorial changes
UCNs (06/98) Extensive changes were made involving UCNs; the formal
model is now Plum's "model B" where UCNs and extended
source characters co-exist. UCNs in character
constants and string literals are handled as escape
sequences. The constraint in 6.10 reguarding a
non-required character as the first character of a
macro replacement was dropped. Captured in N842.
CD1 France Comments
(06/98) FR16 - Add __STDC_ISO_10646__ macro
CD1 Denmark Comments
(06/98) DK2, DK3, DK4, DK5
DK2 (int_curr_symbol different from currency_symbol)
DK3 (localeconv examples) approved with editorial
corrections to the table of member values.
DK4 ([pn]_sep_by_space) approved with editorial
corrections directly from Posix.
DK5 (strftime conversions)
DK6 (strftime O and E modifiers)
CD1 UK Comments
(06/98) UK005, UK010, UK011, UK013, UK017, UK028, UK061, UK062,
UK074, UK077, UK099, UK131, UK140, UK168
UK0005 (#error)
UK0010 (_NO_LEAP_SECONDS)
UK0011 (_NO_LEAP_SECONDS and _LOCALTIME)
UK0013 (struct hack)
UK0017 (pointer comparison)
UK0028 (name limits vs UCNs) approved except that
short UCNs count as 6 (not 4) and long UCNs count as
10 (not 8); and that extended source characters are
counted like the corresponding UCN if there is one,
otherwise their count is unspecified.
UK0061 (non-int assert) approved except that the type
of the expression was changed from *int* to *_Bool*
(now that it's available) rather than using
/scalar/.
UK0062 (binary standard streams)
UK0074 (pointer to object)
UK0077 (jumps and VLAs)
solves mixing of decls/code used with VLAs
UK0099 (dropping off the end of main) approved just
the first part
UK0131 (fesetround/feholdexcept return values)
UK0140 (supported by conversion) approved as
DECIMAL_DIG moves from <math.h> to
<float.h> (and the mathematical definition of
FLT_DIG, which has apparently always been wrong, is
corrected), and other wording changes.
UK0168 (VLA sizes)
CD1 US Comments
(06/98) US011.13 (localtime returning NULL)
N845 (10/98) Minutes for Santa Cruz, October 1998
Future directions addtion on floating-point types
strtod improvements regarding strings begining with a minus sign
Japan issue to drop finite from f,F conversion specifier
realloc rewording
INFINITY and NAN macros do not need to be implementation-defined
Remove Annex D
Change cgamma to ctgamma
Disallow VLAs in compound literals
nextafterx changed to nexttoward
N847 (10/98) Issues with CD2
Individual items approved as detailed in the 10/98 meeting
minutes N845
N851 (10/98) inttypes.h and stdint.h
Approved with minor editorial changes
N852 (10/98) Editors report
Approved as detailed in the 10/98 meeting minutes N845
for loop wording (10/98)
Concensus reached at 10/98 meeting,
wording to arrive in a public comment for addoption into
FDIS
Proposals approved for inclusion into the C9X draft, stage 4:
N873 (02/99) Disposition of comments
Proposals with final words approved for inclusion into the C9X draft
that have not yet been applied, stage 4:
Proposals principally approved, final wording to be drafted by review
committee, stage 3:
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.