Doc No: SC22/WG21/N2592 J16/08-0102 Date: 2008-03-14 Project: JTC1.22.32 Reply to: Robert Klarer IBM Canada, Ltd. klarer@ca.ibm.com

Minutes of J16 Meeting No. 47, February 25-March 1, 2008

1. Opening activities

Clamage called the meeting to order at 09:00 (GMT+8) on Monday, February 24, 2008

1.1 Opening comments

Caves described the arrangements and facilities for the meeting.

1.2 Introductions

Clamage had the attendees introduce themselves.

1.3 Meeting guidelines (Anti-Trust)

Clamage reviewed the patent disclosure rules.

1.4 Membership, voting rights, and procedures for the meeting

Nelson reviewed membership rules. Nelson then circulated the attendance list and membership list. Clamage reviewed voting rules and reviewed procedures for the meeting.

1.5 Agenda review and approval

Clamage presented the agenda (document J16/07-0346 = WG21/N2476).

Motion to approve the agenda:

Mover: Hedquist
Seconder: Stoughton
WG favor oppose abstain
J16 unanimous consent

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

Each of the Working Group chairs presented their plans for the coming week.

1.7 Approval of the minutes of the previous meeting

Motion to approve the minutes (document J16/06-0323 = WG21/N2453)

Mover: Hedquist
Seconder: Plum
WG favor oppose abstain
J16 unanimous consent

1.8 Report on the WG21 Monday meeting

Sutter reported that five countries are represented at this meeting; all five have voting status.

Sutter reviewed the plan for completion of the revision.

1.9 Liaison reports

WG14/J11 Liaison

A liason statement from WG14/J11 to WG21/J16 regarding Attributes can be found in J16/07-0336 = WG21/N2466.

A liason statement from WG14/J11 to WG21/J16 regarding Thread Cancellation can be found in J16/07-0325 = WG21/N2455.

POSIX Liaison

A POSIX liason statement to WG21 can be found in J16/08-0046 = WG21/N2536.

Other Working Group: Vulnerabilities (OWGV) Liaison

Plum reported that OWGV appreciated the participation of many WG21 members at the last OWGV meeting in Kona.

OWGV last met at the Carnegie Mellon Software Engineering Institute in Pittsburgh PA. They will next meet in the Netherlands, adjacent to the Spring 2008 meeting of WG14/J11.

1.10 Editor's report and WP approval

The post-Kona draft of the WP is J16/07-0331 = WG21/N2461.

In Kona, a drafting committee and a review committee were empowered to specify the multithreading library. The result of that effort has been added to a subsequent draft, which is J16/08-0031 = WG21/N2521.

Brown read aloud a formal statement on the behalf of Fermilab:

Fermilab strongly objects to the adoption of N2522 as an official 
J16/WG21 Working Paper/Working Draft.

Our specific objection is to "Chapter 31 Date and time library 
[datetime]" and to those small parts of other chapters (notably "Chapter 
30 Thread support library [thread]") that make use of Chapter 31.  We 
have no objection to any other parts of N2521.  We understand that paper 
N2498 in the pre-meeting mailing seeks to modify much or most of Chapter 
31, but we do not address that paper here; we are objecting to the 
adoption of N2521 on the basis of what it says today.

We base our objection on a number of technical issues, most of which we 
have set forth in our paper N2526.  Our major objections are:

   - a multiplicity of types introduced to represent the single idea of
     a duration;

   - the consequent need to write templates, not functions, for even
     simple purposes, making it very difficult to write libraries using
     these types;

   - the explosion in the number of types needed as we extend this
     approach to additional physical quantities.

Additionally, we believe that Chapter 31's approach of introducing 
standard types, such as seconds and nanoseconds, is an incorrect 
abstraction.  More importantly, we also believe that it contradicts a 
pre-existing International Standard, namely "International Standard 31 
Quantities and units."

We are fully aware that we are asking this Committee to reverse itself, 
but there is ample precedent for this.  Moreover, the principal authors 
of the clause in question are themselves already seeking (in N2498) to 
do so.  We therefore ask that Chapter 31 and all references to its 
contents be excised from the motion under consideration.

Motion to accept the working paper

Mover: Becker
Seconder: Klarer

Plum moved to amend the motion as follows:

Motion to remove chapter 31 from the current Working Draft and accept the rest. The paper will be inconsistent and incomplete. The inconsistency will be remedied in one of two ways: by addressing controversies surrounding chapter 31 in later drafts, or by removing from a Working Draft all references to chapter 31.

Mover: Plum
Seconder: Brown

Plauger called the question on the motion to amend.

Support for the call:

WG favor oppose abstain
J16 20 2 4

Motion to amend.

WG favor oppose abstain
J16 2 17 3

Plauger called the question on the original motion.

Support for the call:

WG favor oppose abstain

Original motion.

WG favor oppose abstain
J16 20 1 5

1.11 New business requiring actions by the committee

Nelson proposed that, if a document is produced at this meeting to be voted on at this meeting, it has to be posted to the formal motions page on the wiki. Nelson elaborated that it is not sufficient to upload the document to a subgroup page and then link to it; the document should be uploaded to the formal motions page by the time straw poll discussions commence on Friday.

Clamage reported that two names have been submitted to be Friends of the Committee:

There will be a formal motion to grant Friend of the Committee status to these individuals on Saturday.

2. Organize subgroups, establish working procedures.

We have three subgroups: Core, Library, and Evolution. There will be a subgroup of Evolution to deal with issues relating to concurrency.

The committee broke into subgroups at 10:30 (GMT+10).

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

4. WG sessions continue.

5. WG sessions continue.

6. WG sessions continue.

7. General session.

7.1 WG status and progress reports.

Future meetings:

See 10.1, below.

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

8. WG sessions continue

9. WG sessions continue

10. Review of the meeting

Plauger moved to thank the host. Applause.

10.1 Formal motions, including DRs to be resolved.

Friends of the Committee Move to grant the following organizations Friend of the Committee status:

  1. Fredrik Jonsson, Ericsson
  2. Peter Dimov, self
Mover: Hedquist
Seconder: Stoughton
WG favor oppose abstain
J16 unanimous consent

J16 Liaisons Move that J16 approves the following members as liaisons to the designated committees:

  1. WG14/J11:
    1. Tom Plum
    2. Bill Plauger
    3. Barry Hedquist
    4. Nick Stoughton
    5. Clark Nelson
  2. POSIX/Austin Group:
    1. Nick Stoughton
    2. Tom Plum
    3. Bill Plauger
  3. SC22/OWGV:
    1. Tom Plum
Mover: Hedquist
Seconder: Plauger
WG favor oppose abstain
J16 unanimous consent

Library Working Group

Motion 1. Move we apply the resolutions to the following issues from N2494 to the C++0X Working Paper:

527, 561, 562, 563, 567, 581, 620, 621, 622, 623, 624, 661, 664, 665, 666, 674, 675, 676, 679, 680, 687, 688, 689, 693, 694, 695, 700, 703, 705, 706

Mover: Hinnant
Seconder: Plauger

Gregor indicated that he had found a problem in the proposed resolution for 688, and that the author of the resolution agreed.

Hinnant proposed an amendment to the motion, dropping issue 688 from the list of issues to be considered. Plauger agreed to the amendment.

Amended Motion 1. Move we apply the resolutions to the following issues from N2494 to the C++0X Working Paper:

527, 561, 562, 563, 567, 581, 620, 621, 622, 623, 624, 661, 664, 665, 666, 674, 675, 676, 679, 680, 687, 689, 693, 694, 695, 700, 703, 705, 706

WG favor oppose abstain
J16 27 0 0

Motion 2. Move we apply WG21/N2528 "Timed_mutex in C++0x" to the C++0X Working Paper.

Lakos requested further explanation of the reasons for the removal of timed_mutex.

Boehm responded by mentioning that it is a relatively minor component, and that it will be seldom used. Furthermore, there is a possibility that, in the future, the base mutex will support this capability. For that reason, the proposal is to defer the introduction of this capability to a TR.

Lakos suggested allowing an implementation to provide timed_mutex in the form of a typedef which my or may not have the same underlying type as the base mutex. He attributed this idea to Dietmar Kühl.

Mover: Hinnant
Seconder: Plauger
WG favor oppose abstain
J16 15 7 5

The motion did not carry.

Motion 3. Move we apply WG21/N2549 "Excision of Clause 31" the C++0X Working Paper.

Mover: Hinnant
Seconder: Plum
WG favor oppose abstain
J16 18 2 7

Motion 4. Move we apply WG21/N2543 "STL singly linked lists (revision 3)" to the C++0X Working Paper.

Mover: Hinnant
Seconder: Halpern
WG favor oppose abstain
J16 27 0 0

Motion 5. Move we apply WG21/N2551 "A variadic std::min(T, ...) for the C++ Standard Library (Revision 2)" to the C++0X Working Paper.

Mover: Hinnant
Seconder: Stoughton
WG favor oppose abstain
J16 15 6 6

Motion 6. Move we apply WG21/N2478 "A Proposal to Add typedef default_random_engine to C++0X" to the C++0X Working Paper.

Mover: Hinnant
Seconder: Brown
WG favor oppose abstain
J16 27 0 0

Motion 7. Move we apply WG21/N2554 "The Scoped Allocator Model (Rev 2)" to the C++0X Working Paper.

Mover: Hinnant
Seconder: Halpern
WG favor oppose abstain
J16 14 4 9

Motion 8. Move we apply WG21/N2525 "Allocator-specific Swap and Move Behavior" to the C++0X Working Paper.

Mover: Hinnant
Seconder: Halpern
WG favor oppose abstain
J16 24 1 2

Motion 9. Move we apply WG21/N2559 "Nesting Exceptions" to the C++0X Working Paper.

Mover: Hinnant
Seconder: Meredith
WG favor oppose abstain
J16 15 1 11

Core Working Group

Motion 1. Move WG21/N2546 "Removal of auto as a storage-class specifier" into the C++0X Working Paper.

Mover: Adamczyk
Seconder: Widman
WG favor oppose abstain
J16 26 0 0

Motion 2. Move WG21/N2547 "Allow atomics use in signal handlers" into the C++0X Working Paper.

Mover: Adamczyk
Seconder: Stoughton
WG favor oppose abstain
J16 26 0 0

Motion 3. Move WG21/N2535 "Namespace Association ("inline namespace")" into the C++0X Working Paper.

Mover: Adamczyk
Seconder: Meredith
WG favor oppose abstain
J16 26 0 0

Motion 4. Move WG21/N2541 "New Function Declarator Syntax Wording" into the C++0x Working Paper.

Mover: Adamczyk
Seconder: Dos Reis
WG favor oppose abstain
J16 25 1 0

Motion 5. Move WG21/N2540 "Inheriting Constructors (revision 5)" into the C++0X Working Paper.

Mover: Adamczyk
Seconder: Wong
WG favor oppose abstain
J16 24 2 0

Motion 6. Move WG21/N2544 "Unrestricted Unions (Revision 2)" into the C++0X Working Paper.

Mover: Adamczyk
Seconder: Talbot
WG favor oppose abstain
J16 24 0 3

Motion 7. Move WG21/N2555 "Extended Variadic Template Template Parameters (Revision 1)" into the C++0X Working Paper.

Mover: Adamczyk
Seconder: Meredith
WG favor oppose abstain
J16 25 0 2

Motion 8. Move WG21/N2550 "Lambda Expressions and Closures: Wording for Monomorphic Lambdas (Revision 4)" into the C++0X Working Paper.

Mover: Adamczyk
Seconder: Crowl
WG favor oppose abstain
J16 26 0 1

10.2 Future meetings:

See 11.1, below.

10.3 Issues delayed until Saturday

None.

11. Plans for the future

11.1 Next meeting

June 8-13, 2008 in Sophia Antipolis, France

11.2 Mailings

Nelson reported the following mailing deadlines:

post-meeting mailing March 14, 2008
pre-Nice mailing May 16, 2008

11.3 Following meetings

The following meetings are as follows:

  1. September 14-19, 2008 in the San Francisco Bay area -- this meeting will be co-located with WG14/J11

Motion to adjourn

Mover: Plauger
Seconder: Gregor

Unanimous consent.

Attendance

Company/Organization Representative Mon Tue Wed Thu Fri Sat
Adobe Systems Mat Marcus V V V V V V
Adobe Systems Sean Parent A A
Apple Computer Howard E. Hinnant V V V V V V
Bloomberg John Lakos V V V V V V
Bloomberg Pablo Halpern A A A
Bloomberg Dietmar Kühl A A A A A A
Boost Consulting Eric Niebler A A A A A A
Borland International Alisdair Meredith V V V V V V
Dawes Beman G. Dawes V V V V V V
Seymour Bill Seymour A A A A A A
Dinkumware P. J. Plauger V V V V V V
Dinkumware Tana Plauger A A A A A A
Dinkumware Christopher Walker A A A A A
Edison Design Group J. Stephen Adamczyk V V V V V V
Edison Design Group Daveed Vandevoorde A A A A A A
Edison Design Group John H. Spicer A A A A A A
Edison Design Group Mike Herrick A A A A A A
Edison Design Group William M. Miller A A A A A A
Fermi Nat. Accelerator Lab Walter E. Brown V V V V V V
Gimpel Software James Widman V V V V V V
Google Matthew Austern V V V V V V
Google Lawrence Crowl A A A A A A
PremAnand Rao Hans Boehm V V V V V V
Hewlett-Packard Hans Boehm A A A A A A
IBM Robert Klarer V V V V V V
IBM Michael Wong A A A A A A
IBM Paul McKenney A A A A A A
Indiana University Doug Gregor V V V V V V
Intel Clark Nelson V V V V V V
Microsoft Jonathan Caves V V V V V V
Microsoft Herb Sutter A A A A A A
National ICT Australia Manfred Doudar V V V V V V
Perennial Barry Hedquist V V V V V V
Plum Hall Thomas Plum V V V V V V
Plum Hall Francis W. Glassborow A A A A A A
Red Hat Jason Merrill V V V V V V
Red Hat Benjamin Kosnik A A A A A A
Red Hat Ulrich Drepper A
Rogue Wave Software Martin Sebor V V V
Roundhouse Consulting Pete Becker V V V V V V
Sandia National Labs K. Noel Belcourt V V V V V
Sun Microsystems Stephen D. Clamage V V V V V V
Tele Atlas Alan Talbot V V V V V V
Texas A&M Bjarne Stroustrup V V V V V V
Texas A&M Jaakko Järvi A A A A
USENIX Nick Stoughton V V V V V V
Zephyr Associates Thomas Witt V V V V V V
Amazon.com Gary Powell N N N N N N
CrystalClear Software Jeff Garland N N N N N
Digital Mars Walter Bright N
INRIA Sylvain Pion N N N N
Integrable Solutions Gabriel Dos Reis N N N N N N
Interactive Data Managed Solutions Jens Maurer N N N N N N
Vollmann Engineering Detlef Vollmann N N N N N N
Blair Mckay N N N N N N