JTC1/SC22/WG14
N928
Draft Minutes for October 16-19 2000
Meeting of ISO/JTC1/SC22/WG14 and NCITS/J11
WG14/N928
16 Oct 2000 09:30-12:00 13:30-17:00
17 Oct 2000 09:00-12:00 13:30-17:00
18 Oct 2000 09:00-12:00 13:30-17:00
19 Oct 2000 09:00-12:00 13:30-17:00
Meeting Location:
Novotel Toronto Centre
45 The Esplanade
Toronto, Ontario
M5E 1W2
Tel: (416) 367 8900
Fax: (416) 860 5154
Host Contact information:
Raymond Mak
IBM Canada
(416) 448-2516
rmak@ca.ibm.com
Monday
1. Opening activities
1.1 Opening Comments
Benito welcomed everybody to Toronto and introduced our hosts IBM and
Xerox.
1.2 Introduction of Participants/Roll Call
Berkeley Design Tech John Hauser
Compaq/Digital Rich Peterson
Farance Inc Frank Farance
IBM Corp Raymond Mak HOD (Canada)
IBM Corp Wang Chen
Inprise/Borland John Wiegley
Himself David Keaton
Oracle David Schwab
Perennial John Benito
Plum Hall Tom Plum
SDRC Larry Jones
Himself Peter Seebach
Himself Bill Seymour
Sun Douglas Walls HOD (USA)
Tydeman Consulting Fred Tydeman
US Army Douglas A. Gwyn
Denmark Jan Kristoffersen HOD (Denmark)
Ireland Martin O'Riordan HOD (Ireland)
Netherlands Willem Wakker HOD (Netherlands)
Knowledge Software Derek Jones HOD (UK)
Origin Netherlands Randy Marques
France Antoine Leca HOD (France)
UK Francis Glassborrow
Canada Hugh Redelmeier
Canada Henry Spencer
Canada Byte Craft Limited Walter Banks
Norway Keld Simonsen HOD (Norway)
1.3 Selection of Meeting Chair
John Benito was selected as meeting chair. Derek Jones as meeting
secretary.
1.4 Procedures for this Meeting
Business as usual.
1.5 Approval of Previous Minutes (WG14/N914)
The straw vote for DR222. Change "behaviour undefined" to "behaviour
defined".
1.6 Review of Action Items and Resolutions
Keaton Done
Benito Dropped
Jones (UK) Done
Meyers Open
Wakker Done (N923)
Wakker Done
Japan Done
Benito Done (N922)
Meyers Open
Jones (US) Open
Meyers Done (DR216)
Simonsen Done (embedded-c)
All Done
Plum Open
Meyers Closed
Subgroup Done
Outstanding actions from before Tokyo meeting:
Gwyn Open
Benito Open
Feather Open
Tydeman Done (N919)
Glassborrow volunteered to monitor newsgroups for possible DR issues.
1.7 Approval of Agenda (WG14/N921)
1.8 Distribution of New Documents
There were no new documents for distribution.
1.9 Information on Next Meeting
The next meeting is 23-27 April 2001 in Copenhagen.
1.10 Identification of National Bodies
National bodies present: UK, US, Denmark, Canada, Netherlands,
Ireland, Norway, and France.
1.11 Identification of J11 voting members
There are currently 18 voting members of J11, 13 voting members were
present at the meeting, one member present would have voting rights at
the end of this meeting.
2. Rationale Status and Plan (All)
We need to produce a document that reflects C99 as published. The
rationale is a living document and can then continue to evolve
Discussion of what format the rationale should be available in, html,
troff, .doc, and text. No general consensus.
Action Keaton: Coordinate review of rationale. Helpers Gwyn, Jones
(US), Schwab, Farance, Peterson, Leca, Tydeman (floating point).
3. NWI Status Report (N922) (Benito)
Sequence points. Added agenda item for technical discussion.
Decided to leave voting until after technical discussion.
I/O hardware. Final vote of whether to continue addressing this issue
to be made before the end of this meeting.
7.4 WG15 (posix)
Keld reported that ISO 9945 is being revised. The revised document to
include the API plus Shell and Utilities in a single document. The C
library is also to be included in the revised document.
WG15 and the OpenGroup are working closely together to produce a single
specification.
http://www.opengroup.org/austin/docs/austin_9r3.txt
Final CD out for ballot, closes 31 December 2000.
ACTION Benito: Talk to WG14 members who are involved in following the
time issues within WG15, to find somebody willing to summarize
differences from the WG14 specification and write them up for
distribution.
4. Signaling NaN Material for Rationale (N919) (Tydeman)
The document was adopted from NCEG 91-028, the last NCEG document to
discuss support for Signaling NaNs. Tydeman proposed that it be added
to the Rationale as a new annex.
The committee felt that there were still issues that need to be
resolved.
ACTION Tydeman: To update N919 in light of committee discussion.
5. I18N Language Independent Interface (Simonsen)
ISO/IEC 15435 at the working draft stage. The committee has decided
to rewrite the document in terms of a C API.
Does WG14 want to participate in the development of the C API for
ISO/IEC 15435?
Straw vote: 5/7/14
7.5 WG20 (I18N)
ISO 14657 (sorting) passed FDIS ballot.
ISO/IEC TR 10176:1998 Guidelines for the preparation of programming
language standards, published standard.
ISO 14652 (enhanced locale/charmap support) soon going out for DTR
ballot.
ISO/IEC 15897:1999 Procedures for registration of cultural elements,
published standard.
Convener of WG20 has proposed that the WG be disbanded. Yet to be
discussed formally by WG20. Discussion has occurred within SC22 on
whether the other WG's need WG20.
ACTION Benito: To ensure that the C locale is registered by/at ISO.
12. Improve compile time configuration (N920) (Kristoffersen)
Kristoffersen presented N920. Lots of discussion. Features could be
obtained by using other tools, things are best done within the
compiler, effects can be achieved using the existing constructs,
existing constructs become cumbersome when more than a few platforms
are targeted.
Straw vote to be taken before the end of the meeting.
Does WG14 want to work on a proposal implementing the ideas behind
N920?
7. Liaison Activities
7.1 J11
Nothing to report.
7.2 WG14 (SC22 Plenary)
Convener attended the SC22 plenary. There is a proposal to allow non-
national bodies to participate within the standards process.
7.3 J16/WG21
Working is progressing on the performance TR. Current project editor
of TR has resigned; Martin O'Riordan is the new project editor.
7.6 Other Liaison Activities
Frank Farance reported on Vocabulary for Information Processing
Systems. http://www.ncits.org/tc_home/k5.htm
Fred Tydeman reported on LIA-2, the FDIS has just been sent to ISO for
ballot.
Tuesday
6. Irish Comment on JTC1-N6089, (N916) (O'Riordan)
O'Riordan reported that the Irish panel wanted fixed point data types
to also be available using base ten representation. There was general
discussion; issues of C++ compatibility, base 10 is not often used in
embedded systems (which is the subject of the work item).
Discussion on agenda item 8, Response on N916 (N918) (Kristoffersen),
was folded into discussion of Item 6.
The issue of I/O ports and data buses having widths that are not a
power of two in the future was discussed. Many applications are now
using ASICs that allow widths to be tailored to the application.
Should the proposal have a fully parameterized width, or should powers
of two be special cases?
9. Further notes on Embedded C (N923) (Wakker)
Wakker asked for guidance on the directions of the proposals; the C++
library model, or using new keywords. How C and C++ handled the mutual
introduction of the complex type was suggested as a model for how to
introduce the proposed new properties of type.
Some members were interested in having saturate apply to pointers and
floating types. Other members felt that they should apply to integer
types only.
No strong views were expressed on the proposals given in N923. The
committee wanted to see actual wording before commenting further.
10. Embedded C relationship with C++ (N923) (Wakker)
Members violently agreed that C++ compatibility was an important issue.
Compatibility meaning the ability for both languages to handle the same
source code.
8. Continued, Response on N916 (N918) (Kristoffersen)
Kristoffersen presented some results of a static analysis on the use of
I/O operations in a large embedded application. The common occurrence
of some constructs has influenced his current proposals.
11. C support for embedded systems (N924) (Banks)
Straw vote: Should syntax support for different kinds of storage be
investigated?
LOTS/0/4
Straw vote: Should a method of specifying the storage location of
objects be investigated?
LOTS/3/4
22. Sequence point paper (N925)
Mac pointed out that the existing proposal was difficult for developers
to use. He presented slides that described an alternative algorithm
that he claimed, and others agreed, provided a simpler way of answering
the question addressed by N925. Mac was still not certain that the
rules in his algorithm delivered correct answers for all expressions.
Action Mak: Write up alternative algorithm for answering YES/NO
question intended to be answered by N925.
Plum asked if it would not be simpler for the committee to more fully
specify the behavior, instead of documenting the existing behavior.
Wednesday
22. Continued, Sequence point paper (N925)
Should the algorithm/representation given in N925 or the Mak
representation/rules be used? It was felt that both should be used
until it was shown that one of them was sufficient and perhaps both
would coexist in the final document.
Does the committee want the convener to fill out a new work item
proposal covering the sequence point proposals?
Straw vote to be taken before the end of the meeting.
13. Defect Reports
The committee split into two subgroups to try and resolve open DRs.
205, 211, 212, 222: subgroup chair Peterson
223-234: subgroup chair O'Riordan
Subgroup chairs presented the subgroup recommendations to the committee
as a whole. The committee as whole held straw votes on these
recommendations.
205: No consensus reached
211: 13/1/9
212: No consensus reached
222: Consensus on direction presented. Peterson to draft additional
words.
223: 15/1/4
224: 21/0/2
225: 19/0/4
226: 22/0/1
227: 21/0/2
228: 22/0/1
229: Problems still outstanding. Open.
230: 14/0/4
231: No resolution. Open
232: 21/0/2
233: Not worked on.
234: Not worked on.
Subgroups were then asked to continue working on open DRs.
DR 218, 219 and 220 were assigned to Petersons subgroup
DR 205 was reassigned to O'Riordans group in attempt to break the
current lack of consensus.
23. Redelmeier sequence point paper
Redelmeier presented a new paper that described an algebraic
specification for answering the question asked by N925.
Thursday October 19th
15. More on Sequence points
N926 - Mak's paper
N927 - Redelmeier's paper
16. Defect reports, Review
DR233 - %g, %G precision specification
Subgroup used words based on those from reflector between Clive Feather
and Antoine Leca
SV. Those in favor of going forward with this change as the current
record of response
15-0-3
DR234 - Miscellaneous Typos
Benito asked if he can add 2 other typos, committee agreed
SV. Accept the proposed changes as the current record of response
Not taken
DR205 - Replace odd new use of static keyword
SV. All in favor of leaving it as it is and doing nothing
6-7-5
SV. All in favor of deleting this whole facility
7-5-6
SV. Is the syntax ugly?
Unanimous
DR229 - localeconv() *_sep_by_space table entries issues
Suggested changes to the table in the IS from the subgroup
SV. All in favor of using the suggested changes to the table from the
subgroup as the current record of response
16-0-2
DR231 - Semantics of text-line and non-directive
Suggested response from the subgroup
SV. All in favor of using the suggested changes from the subgroup as
the current record of response
Unanimous
DR206 - default argument conversion of float _Complex
SV. All in favor of putting the words in the rationale.
9-0-7
SV. All in favor of putting the words in a footnote.
3-3-10
DR211 - Accuracy of string/float conversions
Subgroup has some words:
Suggested TC
This DR asks about the accuracy requirements for string conversions of
floating point types. Since the accuracy of arithmetic operations and
math library functions is stated to be implementation-defined in
5.2.4.2.2, we suggest that these conversions be included in that list.
5.2.4.2.2 #4
The accuracy of the floating-point operations (+, -, *, /) and of
the library functions in <math.h> and <complex.h> that return floating-
point results is implementation defined. The implementation may state
that the accuracy is unknown.
---
The accuracy of the floating-point operations (+, -, *, /) and of
the library functions in <math.h> and <complex.h> that return floating-
point results is implementation defined,
as is the accuracy of the conversions between floating-point
internal representations and string representations performed by
the library routines in <stdio.h>, <stdlib.h>, and <wchar.h>.
The implementation may state that the accuracy is unknown.
DR212 - binding of multibyte conversion state objects
Subgroups work
212: mbstate_t objects cannot be reused
Subgroup's discussion:
Standard is clear enough on the general issue of whether mbstate_t
objects can be reused - the text cited as a problem was quoted out of
context.
This DR claims that an object of type mbstate_t can only ever be used
to make one conversion. It quotes the fourth sentence of 7.24.6 (3),
out of context from the first three sentences of the paragraph. The
first three sentences describe a method for giving an mbstate_t object
a value that permits it to be used to initiate a conversion involving
any multibyte character sequence, and so an object of type mbstate_t
can be used to perform more than one conversion.
However, in the course of introducing a mechanism of bindings to
clarify this point, the DR identifies specific problems with mbstate_t
objects associated with wide streams.
Changes to address this problem without introducing the notion of bound
and unbound states:
7.19.3 "Files", #9
Change 2nd bullet from:
- A file need not begin nor end in the initial shift state.225)
to:
- A file shall begin in the initial shift state, but need not end in
the initial shift state.225)
7.19.2 "Streams" #6, or 7.19.9.2 "fseek" #5
Append to the paragraph:
A successful call to fseek with an offset value of zero and a
whence value of SEEK_SET resets the associated mbstate_t object
to indicate the initial shift state. A successful call to fseek
with an offset value of zero and a whence value of SEEK_CUR
preserves the current value of the associated mbstate_t object.
>>> What about offset == 0 and whence == SEEK_END??
Benito will add the subgroups discussions to the DR without the suggested
changes the IS.
DR218 - signs of non-numeric floating point values
The committee agrees with this DR, and will incorporate wording along
the lines suggested in the second alternative.
New paragraph following 5.2.4.2.2 #3
[#3a] An implementation may give zero and non-numeric values
(such as infinities and NaNs) a sign or may leave them unsigned.
Wherever such values are unsigned, any requirement in this
International Standard to retrieve the sign shall produce an
unspecified sign, and any requirement to set the sign shall be
ignored.
SV All in favor of using the suggested changes from the subgroup as the
current record of response
11-0-8
DR219 - effective types
Subgroup agrees with the current record of response in this DR
DR220 - decimal integer
Subgroup conclude that TC changes 2-5 previously proposed in committee
discussion be incorporated, but no change to wording or normative
references along the lines considered for change #1 be incorporated in
a TC.
Fred wants to add more discussion.
Committee consensus was in favor of using the suggested changes
from the subgroup as the current record of response
DR222 - Partially-initialized structures
This DR asks the question of whether or not struct assignment is well
defined when the source of the assignment is a struct, some of whose
members have not been given a value. There was consensus that this
should be well defined because of common usage, including the standard-
specified structure struct tm. There was also consensus that if
assignment with some members uninitialized (and thus possibly having a
trap value) was being made well defined, there was little value in
requiring that at least one member had been properly given a value.
Therefore the notion that the value of a struct or union as a whole can
have a trap value is being removed.
TC to remove the notion of objects of struct or union type having a
trap representation. Changes to 6.2.6.1 paragraphs 6 and 7, and
footnote 42.
Current wording:
[#6] When a value is stored in an object of structure or union
type, including in a member object, the bytes of the object
representation that correspond to any padding bytes take
unspecified values.42) The values of padding bytes shall not affect
whether the value of such an object is a trap representation.
Those bits of a structure or union object that are in the same
byte as a bit-field member, but are not part of that member,
shall similarly not affect whether the value of such an object is
a trap representation.
[#7] When a value is stored in a member of an object of union
type, the bytes of the object representation that do not
correspond to that member but do correspond to other members take
unspecified values, but the value of the union object shall not
thereby become a trap representation.
42) Thus, for example, structure assignment may be implemented
element-at-a-time or via memcpy.
---- New wording:
[#6]When a value is stored in an object of structure or union
type, including in a member object, the bytes of the object
representation that correspond to any padding bytes take
unspecified values.42) The value of a struct or union object is
never a trap representation, even though the value of a member of
a struct or union object may be a trap representation.
[#7]When a value is stored in a member of an object of union
type, the bytes of the object representation that do not
correspond to that member but do correspond to other members take
unspecified values.
Change footnote 42 to read:
42) Thus, for example, structure assignment need not copy any
padding bits.
SV. All in favor of using the suggested changes from the subgroup as
the current record of response
12-1-5
17a. DR wrap up for a TC
Candidates for the TC:
202 - Words voted on in Kona. (TC candidate)
204 - Words voted on in Kona. (TC candidate)
208 - Words voted on in Kona. (TC candidate)
209 - Words voted on in Kona. (TC candidate)
210 - Committee has accepted words. (Fred)
213 - Words voted on in Kona. (TC candidate)
216 - Words voted on in Tokyo. (TC candidate)
220 - Open, Words from Tokyo.
228 - Purely typos
232 - Purely typos
234 - Purely typos
Convener asks, countries in favor of placing the above DRs in a TC:
For - Netherlands, U.K., France, Canada, U.S., Ireland, Denmark
20.2.2 Formal Vote on Resolutions
Embedded C:
Does the committee take the position that language support for writing
portable embedded driver libraries is in the scope of the TR?
WG14 6 U.S., Ireland, Denmark, Netherlands, Canada, Norway
0
2 U.K, France
The two papers presented were not represented by the Canadian position.
N920 - Improve compile time configuration
Does the J11 want to work on a proposal implementing the ideas behind
N920?
J11 1-9-1
Does the WG14 want to work on a proposal implementing the ideas behind
N920?
WG14 2 Denmark, Norway
4 U.S., Ireland, Denmark, Netherlands, Canada
2 France, U.K.
Sequence points
Should the Convener submit a New Work Item for a TR type 2 dealing with
sequence points?
WG14 4 Netherlands, U.K., Denmark, Norway
3 Canada, Ireland, U.S.
1 France
WG20 has asked us to adopt Amendment 1 to TR 10176
Convener would like us to do nothing with this for now.
AI Antoine Leca , produced a DR to align with Amendment 1 to TR 10176
20.1.1 Future Meeting Schedule
April 23-27, 2001 Copenhagen, Danish Standards
October 15-19, 2001 Seattle, Washington
April 2002 Hosted by Netherlands (location open)
October 2002 Convener to look for U.S. host
April 2003 Francis to investigate U.K. host
20.1.3 Future Mailings
Post-Toronto mailing November 17, 2000
Pre-Copenhagen mailing March 16, 2000
20.2.4 Thanks to Host
Thanks to both IBM and Xerox
Thanks to Norm Crowfoot for coming from Buffalo to set up equipment.
20.3 Other Business
21. Adjournment
=======================================================================
Agenda for the J11/U.S. TAG Meeting, Wednesday October 18th at 17:30
J11 Tag
0. Voting memberships
All but Inprise/Borland are paid up.
1. All DIS and FDIS voting and comments are required
by JTC1
Per the recent notification from ANSI (see documentation at:
http://www.jtc1tag.org/archive/2000/jt000538/jt000538.pdf), supporting
comments for DIS votes of approval with comment(s) or disapproval must
be entered into the DIS/FDIS Comments Template in order that ANSI's ISO
Team (ISOT) can submit them electronically on the ISO server.
I gave notice to NCITS that not all subcommittee have access to
word.
NCITS (Jennifer Garner) responded they would transcribe email
responses to the word .doc template for submission. Our
recommendations/comments always go through NCITS thru the JTC1
tag anyway.
2. Appoint delegation and HOD for future WG14 meetings
J11 delegation for April 2001 is already established as
noted from the April 2000 J11 tag meeting:
FM Jones/Benito
US Delegation to WG14 for the October 2000 meeting in
Toronto, and the April 2001 meeting in Copenhagen.
Douglas Walls (HOD)
Larry Jones
Fred Tydeman
David Keaton
For 10
Against 0
Abstain 0
Absent 6
3. Position on: N925 - A formal model of sequence points and
related issues
Does J11 support the convener submitting NWI for a TR
dealing with sequence points?
FM Benito/Tydeman
Should the convener submit a NWI for a TR dealing with
sequence points?
0-14-0 (14 voting members present)
4. DR resolutions
Will wrap these up as necessary via SV during WG14 meeting.
5. Adjourn TAG meeting.