ISO/ IEC 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.