October 23-27 meeting of ISO SC22 WG14, the C programming language committee (Part 3 of 3)
By C Project Lead on Nov 20, 2006
Highlights of the October 23-27 meeting of ISO SC22 WG14, the C programming language committee:
- Lawrence Crowl of Google gave a presentation on where C++ threads is going.
- A proposal for Sequence Points work for the C rationale. This is in response to C++ threads work in understanding sequence points.
- Proposal to augment the interface of malloc, et al.
- DTR 24732, Decimal Floating Point headed for final balloting after some minor updates.
- DR review
- TR24731, Part II, Bounds Checking via dynamic allocation.
- We also had a visitor this meeting, Ulrich Drepper from Red Hat, Ulrich talked about his perceptions of the future of C. This lead to the main surprise of this meeting, committee sentiment to consider opening the C standard for another revision.
Here are the details on Decimal Floating Point, Bounds Checking, and couple of DRs.
Details (Part III):
DTR 24732, Decimal Floating Point.
Discussion of the National Bodies comments on the draft were reviewed in detail. This lead to some minor changes to the draft. There will be a small review committee to incorporate these changes. The WG14 convenor will then forward that draft to SC22 for final ballot.
IBM is the only company known to have hardward to support Decimal Floating Point at this time ...
TR24731, Part II, Bounds Checking. N1193 (Stoughton)
This document is a proposed Part II to TR24731, Bounds Checking via dynamic allocation. There is no invention here. All of the functions already exist in implementations, particularly in POSIX. The document is organized the same way as Part I. The intent of this document is to provide programmers with an additional mechanism to address issues of buffer overflow, etc., as does Part I. A key difference is that the mechanisms are via dynamic memory allocation, and heavily dependent on malloc. There are some minor changes that need to be made, the document is still a working draft, but it has sufficient substance to be ready for CD registration. Small editorial group to go over the document.
We went through all the open and under review DRs. Those of interest to us include:
DR 329 (N1181) Math functions and directed rounding
The result is DBL_MIN\*DBL_EPSILON, a subnormal number. But, if the implementation does not support subnormal numbers, such as IBM S/360 hex floating-point, then it is either zero or DBL_MIN, depending upon the current rounding direction mode. Hence, the sentence "Thus, the remainder is always exact." in footnote 204 in C99+TC1+TC2 (N1124) is wrong. This problem also applies to remquo and fmod.
Issue for non-754 implementations.
remove the sentence from the footnote, move the rest of the edits to annex f, instead of section 7
DR 332 (N1194) gets is generally unsafe
Committee consensus to have words crafted to deprecate gets. This is a political issue in response to lots of bashing of the committee being non responsive to the security issues. Which of course is not true, but WG14 wants to soften the rhetoric.
Proposed Technical Corrigendum:
Add to subclause 7.26.9 (future library directions for ):
The gets function is obsolescent, and its use is deprecated.
[Note: Rationale wording might be useful.] [Editorial note: add a forward reference to this from gets subclause 126.96.36.199.]
Reviewed state in Portland 10/06 Expedited, will include in TC3 pending results of the disposition of this DR (DR 332) by WG14
Tom Plum Report: Macro Regions Proposal
This effort is essentially in the 'stalled' proposal list within the Evolution Working Group (EWG) in C++ (WG21/J16). Tom believes it solves real problems with the preprocessor. There is opposition within this committee to changing the C Standard.