Doc No: SC22/WG21/N2847 PL22.16/09-0037 Date: 2009-03-22 Project: JTC1.22.32 Reply to: Robert Klarer IBM Canada, Ltd. klarer@ca.ibm.com

Minutes of PL22.16 Meeting, March 2, 2009

1. Opening activities

Clamage called the meeting to order at 09:00 (UTC-5) on Monday, March 2, 2009

1.1 Opening comments

Adamczyk described the arrangements and facilities for the meeting on behalf of Edison Design Group, Plum Hall, Dinkumware, and Sun Microsystems.

1.2 Introductions

Clamage had the attendees introduce themselves.

1.3 Meeting guidelines (Anti-Trust)

Clamage reviewed the patent disclosure rules.

The following materials were displayed without any further interpretation or discussion:

1.4 Membership, voting rights, and procedures for the meeting

1.5 Agenda review and approval

Clamage presented the agenda (document PL22.16/08-0307 = WG21/N2797).

Plauger proposed the following amendment to the agenda:

Add agenda item 7.1.1: Special Math IS and Decimal TR so that these items will be discussed during the Thursday general session.

Motion to approve the agenda as amended:

Mover: Stoughton
Seconder: Hedquist

Approved by 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.

Core Working Group (CWG)

Adamczyk reported that there are 7 papers in recent mailings that require discussion by among the CWG because they "may have some effect on us." Adamczyk also reported that the CWG has a large number of issues to process.

Library Working Group (LWG)

Hinnant reported that LWG has 13 papers and "several hundred" NB comments to process, in addition to the usual backlog.

Concurrency Working Group

Boehm indicated that the concurrency group may want to meet separately, but that their intention was to meet as part of library first.

1.7 Approval of the minutes of the previous meeting

Motion to approve the minutes (document PL22.16/08-0294 = WG21/N2784)

Mover: Abrahams
Seconder: Hedquist

Approved by unanimous consent.

1.8 Report on the WG21 Monday meeting

1.9 Liaison reports

SC22 Chair

Jaeschke reported that teleconferences have been sanctioned by JTC1. Teleconferences require two weeks' notice, but the first one requires four months' notice. It's recommended that calls be limited to two hours in duration. Jaeschke suggested that WG21 schedule a short telecon just to satsify the four month requirement.

Plum observed that if we announce today that we're going to schedule a teleconference on July 7, that would be 4 months from now. We could discuss the outcome of the telecon at the Frankfurt meeting.

Jaeschke also reported that the WG on vulnerabilities will next meet in San Diego. Their ocument is out for PDTR ballot.

Stroustrup: "I thought that this WG was originally meant to be temporary."

Stoughton explained that, when it was first proposed, SC22 suggested that the work on vulnerabilities be done within a rapporteur group, as it affects various other WGs. Instead, an the mechanism that was selected for this work was the OWG. The nature of an OWG is that they must be renewed each year. There was no intention that it would go away after a year.

Plauger expressed the belief that C and C++ have gotten "pretty good treatment from this group because of the involvement of people like Plum, Stoughton, and Jaeschke."

WG14 Liaison

Plum reported that he took a number of C++ innovations and drafted them as C extensions, including:

Plum explained that there is a particular interest in keeping the lexical aspects of the two languages the same.

Nelson reported that "we have documents specifying memory model and Thread Local Storage that are ready for adoption by the C committee at the next meeting."

POSIX Liaison

Stoughton reported that the POSIX C++ working group binding meeting is this coming Saturday in New York City. The POSIX standard is now an IS. The document is already published by Open Group and IEEE. The PDF should be the same between Open Group, IEEE, and ISO.

1.10 Editor's report and WP approval

1.10.1 Draft WP report and approval

Document PL22.16/08-0310 = WG21/N2800

Mover: Crowl
Seconder: Hinnant

Approved by unanimous consent.

1.11 New business requiring actions by the committee

Plauger urged members to invite their employers to sponsor, in whole or in part, a meeting. Finding financial sposorship is a particular challenge in light of the economy.

2. Organize subgroups, establish working procedures.

Plauger explained that the UK public comments may eventually differ in format from what we have today. We will have to work this week with what we have now, but the formal response document may need to be later revised to match the eventual format of the UK NB table.

Hedquist noted that responses should go in the last column of the table.

Plum asked about the Finnish Ballot comment.

Plauger explained that an attachment that explained a question on the Finnish Ballot was inexplicably stripped. We now have that attachment.

We have two subgroups: Core and Library. Evolution and Concurrency will be reconstitued as necessary.

The committee broke into subgroups at 10:30 (UTC-5).

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.

7.1.1: Special Math IS and Decimal TR

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

Core Working Group

See 10.1, below.

Library Working Group

See 10.1, below.

8. WG sessions continue

9. WG sessions continue

10. Review of the meeting

10.1 Formal motions, including DRs to be resolved.

Core Working Group

Motion 1
Move we apply the resolutions of all issues marked "ready" from N2816 to the C++0X Working Paper, i.e. issues numbered 499, 542, 556, 564, 569, 571, 576, 588, 598, 628, 641, 645, 650, 652, 658, 665, 668.

Approved by unanimous consent.

Motion 2
Move we apply N2841 "Consolidated Quasi-Editorial Changes for National Body Comments Concerning the Core Language" to the C++0X Working Paper.

Approved by unanimous consent.

Motion 3
Move we apply N2844 "Fixing a Safety Problem with Rvalue References: Proposed Wording (Revision 1)" to the C++0X Working Paper.

Hinnant read the following statement:

The function std::forward is a foundation cornerstone upon which much code will be built. We must get it right. It has had a stable interface for nearly 5 years. N2844 changes that interface in ways that I believe to be detrimental. I do not believe this change has received sufficient analysis by this committee. Even one of the authors of N2844 (maybe both) appears to be desiring an interface other than what is specified in N2844 (termed "P3" in LWG discussions).

If we apply N2844, we will put forward into a subtly broken state, not unlike auto_ptr or vector<bool>. Things will generally work until you explore the corner cases.

I recommend that we apply N2844 except for the section [forward]. This will put forward into a very broken state that must be fixed, instead of putting it into a subtly broken state that we may or may not fix. Doing so will avoid giving the priviledged state of "status quo" to an interface that I believe to be subtly incorrect, and is a departure from N2800 (CD1) and the past 5 years. This would be an act similar to the action we took with the time facilities when we voted them out, temporarily putting the WD into an inconsistent state.

A vote of yes for the entirity of N2844 will place a subtle bug into the WD. I urge us to instead place a very loud and noisy bug into the WD so that we *must* fix it. I'm asking that Motion 3 be modified to exclude the section applying changes to [forward]. This would turn my no vote into a yes vote.

Motion to amend as described in the statement above.

Mover: Hinnant
Seconder: Brown

Abrahams disagreed with the severity of the concern raised by Hinnant.

Motion to amend:
Favor Oppose Abstain
19 5 8

Motion carries.

Voting on amended amended motion:

Move we apply N2844 "Fixing a Safety Problem with Rvalue References: Proposed Wording (Revision 1)", except for the section "20.2.2 forward/move helpers [forward]" to the C++0X Working Paper.

Approved by unanimous consent.

Motion 4
Move we apply N2830 "Problems with reference_closure" to the C++0X Working Paper.

Approved by unanimous consent.

Library Working Group

Motion 1
Move we apply the resolutions to the following issues from N2821 to the C++0X Working Paper:
752, 753, 758, 821, 866, 894

Approved by unanimous consent.

Motion 2
Move we apply Alternative 2 from N2802 "A plea to reconsider detach-on-destruction for thread objects" to the C++0x working paper.

Approved by unanimous consent.

Motion 3
Move we submit ISO/IEC TR 24733: C++ decimal floating point arithmetic extensions for DTR ballot as proposed in N2849 which contains two corrections.

Klarer reported that some technical glitches in the paper were discovered over the past two days, and that he'd like to withdraw the motion to address these.

Motion withdrawn.

Motion 4
Move we apply N2840 "Defects and Proposed Resolutions for Allocator Concepts (Rev 2)" to the C++0X working paper.

Approved by unanimous consent.

Motion 5
Move we apply N2836 "Wording Tweaks for Concept-enabled Random Number Generation in C++0X" to the C++0X working paper.

Approved by unanimous consent.

Motion 6
Move to apply the following editorial changes throughout Clause 5 [macro] of CD 29124 and to advance the resulting document for FDIS balloting:

  1. Change the name of macro __CPP_MATH_SPEC_FUNCS to __STDCPP_MATH_SPEC_FUNCS__, and change its value from 200809L to 200903L.
  2. Change the name of macro __CPP_WANT_MATH_SPEC_FUNCS to __STDCPP_WANT_MATH_SPEC_FUNCS__.

Approved by unanimous consent.

10.2 Future meetings:

See 11.1, below.

10.3 Issues delayed until Friday

None.

11. Plans for the future

FermiLab will be hosting an unofficial issue processing workshop May 18-20 2009. The host is Walter Brown. He needs to know of an member's intention to be there at least two weeks in advance of the meeting.

11.1 Next meeting

The next meeting will take place July 13 to 18 in Frankfurt, Germany. The meeting details are documented in PL22.16/08-0221=WG21/N2711 .

11.2 Mailings

Nelson reported the following mailing deadlines:

post-meeting mailing March 20, 2009
mid-term mailing May 1, 2009
pre-Frankfurt mailing June 19, 2009

11.3 Following meetings

The following meetings are as follows:

  1. October 19-24 2009, Santa Cruz CA

Nelson moved to thank the host. Applause.

Motion to adjourn

Mover: Brown
Seconder: Hedquist

Unanimous consent.

Attendance

Company/Organization Representative Mon Tue Wed Thu Fri
Apple Computer Howard E. Hinnant V V V V V
Apple Computer Doug Gregor A A A A
Bloomberg John Lakos V V V V V
BoostPro Computing David Abrahams V V V V V
BoostPro Computing Mat Marcus A A A A
Cilk Arts Pablo Halpern V V V V V
Dinkumware P. J. Plauger V V V V V
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 Mike Herrick A A A A A
Edison Design Group Jens Maurer A A A A A
Edison Design Group William M. Miller A A A A A
Edison Design Group John H. Spicer A A A A A
Edison Design Group Daveed Vandevoorde A A A A A
Embarcardo Alisdair Meredith V V V V V
Fermi Nat. Accelerator Lab Walter E. Brown V V V V V
Gimpel Software James Widman V V V V V
Google Lawrence Crowl V V V V V
Hewlett-Packard Hans Boehm V V V V V
IBM Robert Klarer V V V V V
IBM Michael Wong A A A A A
Intel Clark Nelson V V V V V
Microsoft Jonathan Caves V V V V V
Perennial Barry Hedquist V V V V V
Plum Hall Thomas Plum V V V V V
Red Hat Jason Merrill V V V V V
Red Hat Benjamin Kosnik V V V
Rogue Wave Software Martin Sebor V V V V V
Roundhouse Consulting Pete Becker V V V V V
Seymour Bill Seymour V V V V V
Sun Microsystems Stephen D. Clamage V V V V
Symantec Mike Spertus V V V V
Texas A&M Bjarne Stroustrup V V V V
USENIX Nick Stoughton V V V V V
Zephyr Associates Thomas Witt V V V V V
INRIA Sylvain Pion N N N N N
ISO/IEC JTC1/SC22 Chair Rex Jaeschke N N
Rapid Mind Stefanus Du Toit N N N
University Carlos III J. Daniel Garcia N N N N N
Vollmann Engineering Detlef Vollmann N N N N N
Alan Talbot N N N N N
James Curran N
Ville Voutilainen N N N