Doc No: SC22/WG21/N1715 J16/04-0155 Date: October 22, 2004 Project: JTC1.22.32 Reply to: Robert Klarer IBM Canada, Ltd. [email protected]

Minutes of J16 Meeting No. 39/WG21 Meeting No. 34, October 17-22, 2004

1. Opening activities

Clamage called the meeting to order at 09:00(GMT-8:00) on Monday, October 18, 2004

1.1 Opening comments

Sutter welcomed everyone to Redmond and described facilities for the meeting.

1.2 Introductions

Clamage had the attendees introduce themselves.

1.3 Membership, voting rights, and procedures for the meeting

Clamage reviewed membership and voting rules. Nelson circulated the attendance list and membership list.

1.4 Agenda review and approval

Clamage presented the agenda (document 04-0138/N1698).

Motion to approve the agenda:

Mover: Nelson
Seconder: Hinnant
WG favor oppose abstain
J16 lots 0 0

1.5 Distribution of position papers, WG progress reports, WG work plans for the week, and other documents that were not distributed before the meeting.

Core Working Group (CWG)

Adamczyk indicated that the CWG would be processing DRs and meeting jointly with the Evolution Group.

Library Working Group (LWG)

Austern reported that much of the time of the LWG will be devoted to issue processing, both in the Working Paper and in the Library TR. The LWG's goal is that technical work on the TR will be complete by the end of this meeting. The TR is to be voted out at the next meeting or by letter ballot between meetings. Proposals for new libraries will not be considered at this meeting due to lack of time.

Plauger recommended a motion on Friday to appoint a subgroup to edit and review the TR after this meeting.

Evolution Working Group (EWG)

Stroustrup reported that the EWG will move at this meeting to integrate into the Working Paper those proposals for which there is concensus and reviewed wording. As well, a technical session will be conducted Wednesday night. This technical session will be concerned with the categorization of EWG proposals such that clusters of related proposals can be created. A subgroup of volunteers will be organized to work on each cluster.

1.6 Approval of the minutes of the previous meeting

Motion to approve the minutes (document 04-0069/N1629):

Mover: Sutter
Seconder: Crowl

WG favor oppose abstain
J16 lots 0 0

1.7 Report on the WG21 Sunday meeting

It was agreed Sunday night that there will be two evening sessions. The first of these will be conducted Monday night from 7:30pm to 10:30pm, and will be conducted in three parts:

The presentation on A Memory Model for Multithreaded C++ will start at 9:00pm sharp.

The second evening session will be conducted by Stroustrup from 7:30pm to 10:30pm on Wednesday night. It will deal with the categorization of related EWG proposals into clusters (see 1.5, above).

Benito reported on the SC22 plenary, held in Jeju City, South Korea, and at which he represented both WG14 and WG21. At the plenary, Austern was approved as Project Editor for library TR1, Becker was approved as Project Editor for the Working Draft of the C++ Standard, and Plauger was approved as Project Editor for the TR on Decimal Arithmetic.

As well, Benito noted that WG15 and WG20 have been disbanded.

Sutter reported that 8 countries were officially represented at this meeting, and that the drafting committee for this meeting was composed of Adamczyk, Austern, Glassborow, and Ottosen.

1.8 Liaison reports

WG14 Liaison

Benito reports:

Dos Reis asked whether an electronic company of C90 is available. Benito replied that, to his knowledge, no reliable and correct electronic copy exists.

TG5 Liaison

Plum reminded the committee that all WG21 members are invited to attend TG5 meetings as liaisons.

Plum described the outcome of a particularly controversial technical issue with respect to native types. CLI has builtin data types with specific sizes. These may sizes may not correspond with those of the corresponding types on the native platform. The solution that has been adopted is to make the mapping between CLI types and a platform's native types implementation defined.

1.9 Editor's report and WP approval

Becker reported that N1638 is the last revision of the Working Draft to be formatted using TROFF, while N1655 is the first Working Draft to use LaTex. For the forseeable future, subsequent revisions will use continue to use LaTex. Every page of N1655 has been reviewed by at least one member of the committee. The same toolset is now being used to prepare both the Working Draft and the Library TR. both

Motion to accept the working paper (document 04-00xx/N1655):

Mover: Plauger
Seconder: Adamczyk

WG favor oppose abstain
J16 lots 0 1
WG21 8 0 0

Motion to accept TR working draft (document 04-00xx/N1687) as the working paper for TR work:

Mover: Sutter
Seconder: Dos Reis

WG favor oppose abstain
J16 lots 0 0
WG21 8 0 0

1.10 New business requiring actions by the committee

2. Organize subgroups, establish working procedures.

We have three subgroups: Core, Library, and Evolution.

The committee broke into subgroups at 10:17 (GMT-8:00).

3. WG sessions (Core, Library, Performance, Evolution).

4. WG sessions continue.

5. WG sessions continue.

6. General session.

6.1 WG status and progress reports.

Core Working Group

Adamczyk presented Core Working Group (CWG) status and formal motions to be made Friday (for formal motions, see 8.1, below).

The CWG received 15 new issues since the last meeting. At this meeting, 15 issues will be promoted by formal motion to DR status. As well, the CWG ruled that 5 defects were NAD.

The CWG reviewed 4 EWG proposals and recommended minor changes to the proposed wording in each case. These issues will be moved into Ready state, and will be moved for formal acceptance at the next meeting. The issues that have moved into ready state are:

Adamczyk noted that, while the long long proposal makes the result of unsuffixed decimal constants that are too large for long long but not for unsigned long long undefined, the CWG decided to make them ill-formed. This is consistent with WG14's resolution to their own DR 298, which Adamczyk submitted on this topic.

Adamczyk reviewed the CWG's proposed resolution to issue 391. This resolution will require the direct binding of references-to-const to class rvalues.

Library Working Group

Austern presented Library Working Group status and reviewed formal motions to be made Friday (for formal motions, see 8.1, below).

The vast majority of changes that will be voted into TR1 at this meeting are of minor technical importance.

Default-initialized Regular Expressions

Austern reviewed the LWG's proposed resolution to TR issue 7.28. This issue deals with the question of what guarantees can be made about default-initialized regular expressions. The resolution rules that the expression regex() is equivalent to regex(""). Algorithms would not be required to check the validity of the regular expressions upon which they are operating.

Glassborow expressed concern that one could so easily produce a degenerate regular expression. Why not make it impossible for a novice user to make this error?

Becker noted that the behavior being proposed is the same as for pointers and iterators

Brown asked what might happen when a user tries to makes a vector of default-initialized regular expressions?

Other discussion ensued.

Nelson inquired about the test for validity. Is it necessary to remove it?

Becker reported that the complexity of the specification of the test for validity is prohibitive.

Glassborow indicated that the UK will comment on this issue on the PDTR ballot.

Nelson pointed out that, given that the UK promises to comment on this, we will have an opportunity to talk about it later.

Gregor suggested that, if the currently proposed resolution is adopted, the commitee can specify more sophisticated behavior later. This is a conservative approach, which may help the committee to avoid making a mistake that it is unable to correct later.

Glassborow recommended a straw poll on the question of whether the LWG should reconsider its direction on this issue. The results of the straw poll were as follows:

Straw Vote: advise LWG to reconsider the proposed resolution to TR issue 7.28?

in favor opposed
6 9

Austern agreed that the LWG would reconsider its proposed resolution to TR issue 6.17.

Nominating an Editorial Committee to Review the Library Extensions TR

Austern reviewed a formal motion (see 8.1, below) concerning the appointment of an editorial committee and a review committee to apply and approve the changes to the library TR that have been accepted at this meeting, and to forward the document for concurrent ISO ballot.

Plauger asked the committee whether there was objection to the LWG selecting the editorial committee, and whether there were any volunteers.

Maurer suggested that, for the benefit of those who are not present, the formal motion should list the names of those that are named to the committees.

Plauger observed that two people have official standing with SC22: the Project Editor and the Convenor. They should be identified in the formal motion as being the individuals responsible for selecting contributors.

Austern noted that the editorial committee really only needs to be himself and Becker. Austern will 'volunteer' others for the review committee. The formal motion will be amended to name these volunteers.

Evolution Working Group

Evolution Working Group (EWG) will be making no formal motions Friday.

Stroustrup reported on EWG activities and progress.

In particular, Stroustrup reported that there was some controversy on the proposal to extend enum (paper N1579). There was a long debate, and a straw poll was held to determine interest in moving the proposal forward. The results of that straw poll were as follows:
strong favor favor oppose strongly oppose
9 6 0 3

Stroustrup indicated that the proposed syntax was the main concern of those who registered strong opposal.

Stroustrup noted as well that the static_assert proposal (paper N1617) will be moved into Ready state.

Dos Reis observed that there was some controversy with respect to static_assert. Was it ready to be moved forward, given that there are other proposals whose intended purpose may partially overlap that of static_assert? Dos Reis' concern in moving static_assert forward is that this proposal should be considered together with some other proposals, such as those for concepts and Contract Programming.

Stroustrup replied that there is strong agreement in EWG that related propsals should be considered together. The question is whether static_assert is related to concepts and Contract Programming.

Ottosen recalled that, in Sydney, he was encouraged to work on his Contract Programming propsal, so he hopes that this proposal can be discussed by the EWG before static_assert is enshrined in the WP.

Crowl commented that there's no major capability introduced in the proposal, so there was no rush to vote static_assert into the WP.

Stroustrup pointed out that there was a desire to clear the EWG backlog, and static_assert is a proposal that has been around for a long time and enjoys strong support. That's why static_assert will be moved to Ready status.

Klarer observed that the proposal will be moved to Ready status, it will be not be voted into the WP at this meeting.

Future meetings:

See 9.1, below.

6.2 Presentation and discussion of DRs ready to be voted on. Straw votes taken.

see 6.1

7. WG sessions continue

8. Review of the meeting

8.1 Formal motions, including DRs to be resolved.

Stroustrup moved to thank the host. Applause.

Adamczyk moved that we thank Dinkumware, particularly Chris Walker for network support.

Core Working Group motions

Move to advance the following core working group issues to DR status, and apply them to the Working Paper: 54, 319, 381, 385, 389, 394, 409, 410, 416, 417, 427, 429, 436

Mover: Adamczyk
Seconder: Nelson

WG favor oppose abstain
J16 17 0 0
WG21 8 0 0

Library Working Group motions

Evolution Working Group motions

None.

8.2 Review of action items, decisions made, and documents approved by the committee

None.

8.3 Issues delayed until Friday

None.

9. Plans for the future

9.1 Next meeting

Benito reported that the host has requested that members expecting to attend the meeting in Lillehammer, Norway make their reservations before the end of this year.

The following meeting will be held in Mont Tremblant, QC, Canada. Sutter reported that the dates for this meeting are Oct 2-7, 2005. Brown noted that this interferes with Rosh Hashanah. Sutter promised to contact Steve Michel to straighten this out.

Benito indicated that Germany is looking into hosting WG14, possibly in Berlin, in April 2006.

9.2 Mailings

Nelson reported that the deadline for the post-meeting mailing will be November 5, 2004, the deadline for the mid-term mailing will be January 7, 2005, and the deadline for the pre-Lillehammer meeting mailing will be March 4, 2005.

9.3 Following meetings

covered on Monday.

Motion to adjourn

Mover: Abrahams
Seconder: Nelson

WG favor oppose abstain
J16 17 0 0

Applause.

Meeting adjourned at 09:24(GMT-10:00)

Attendance

Company/Organization Representative Mon Tue Wed Thu Fri
Abrahams David Abrahams V V V V V
Adobe Systems Mat Marcus V V V V V
Apple Computer Matthew Austern V V V V V
AT&T Bjarne Stroustrup V V V V V
Atlantic International David Miller V V V V V
Dinkumware P. J. Plauger V V V V V
Dinkumware Pete Becker A A A A
Dinkumware Tana Plauger A A A A A
Dinkumware Christopher Walker A A A A A
Edison Design Group J. Stephen Adamczyk V V V V V
Edison Design Group Daveed Vandevoorde A A A A A
Edison Design Group John H. Spicer A A A
Edison Design Group William M. Miller A A A A A
Fermi Nat. Accelerator Lab Walter E. Brown V V V V V
Fermi Nat. Accelerator Lab Marc F. Paterno A A A A A
Gimpel Software James Gimpel V V V V V
Gimpel Software James Wildman A A A A A
IBM Robert Klarer V V V V V
IBM Sandor Mathe A A A A A
IBM Michael Wong A A A A A
Indiana University Jeremy Siek V V V V V
Indiana University Doug Gregor A A A A
Intel Clark Nelson V V V V V
Intel Gyuszy Sütö A A A
Intel Judy Ward A A A A
Metrowerks Howard E. Hinnant V V V V V
Microsoft Jonathan Caves V V V V V
Microsoft Herb Sutter A A A A A
Perennial Barry Hedquist V V V V V
Plum Hall Thomas Plum V V V V V
Programming Research Richard Corden V V V V V
Red Hat Jason Merrill V V V V
Red Hat Benjamin Kosnik A A A A
Rogue Wave Software Martin Sebor V V V V
Sun Microsystems Lawrence Crowl V V V V V
Sun Microsystems Stephen D. Clamage A A A A A
Zephyr Associates Thomas Witt V V V V V
ACCU Francis W. Glassborow N N N N N
Amazon.com Gary Powell N N N
Blue Pilot Consulting, Inc. Jon Benito N N N N N
Contendix Dietmar Kühl N N N N N
Integrable Solutions Gabriel Dos Reis N N N N N
IS Teledata Jens Maurer N N N N N
LM Ericsson Finland Attila Feher N N N N N
Logica CMG Michiel Salters N N N N N
Sony Computer Entertainment Alex Rosenberg N N N N
Texas A&M Jaako Järvi N N N N
Toshiba Seiji Hayashida N N N N N
Vollman Engineering Detlef Vollman N N N N N
Thorsten Ottosen N N N N N
Alisdair Meredith N N N
Eric Niebler N N N N
Jonathan Turanis N N N
Paul Mensonides N N