<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>PL22.16/09-0037 = WG21/N2847 -- Minutes of PL22.16 Meeting, March 2-6, 2009</title></head><body>
<pre><br>
                                        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
</pre>

<h1>
Minutes of PL22.16 Meeting, March 2, 2009
</h1>

<h2>
1. Opening activities
</h2>
<p>
Clamage called the meeting to order at 09:00 (UTC-5) on Monday, March 2, 2009
</p>

<h3>
1.1 Opening comments
</h3>
<p>
Adamczyk described the arrangements and facilities for the meeting on behalf of Edison Design Group, Plum Hall, Dinkumware, and Sun Microsystems.
</p>

<h3>
1.2 Introductions
</h3>
<p>
Clamage had the attendees introduce themselves.
</p>

<h3>
1.3 Meeting guidelines (Anti-Trust)
</h3>
<p>
Clamage reviewed the patent disclosure rules.
</p>
<p>
The following materials were displayed without any further interpretation or discussion:
</p>
<ul>
<li><a href="http://www.incits.org/inatrust.htm">http://www.incits.org/inatrust.htm</a></li>
<li><a href="http://www.incits.org/call.htm">http://www.incits.org/call.htm</a></li>
<li><a href="http://www.incits.org/pat_slides.pdf">http://www.incits.org/pat_slides.pdf</a></li>
</ul>

<h3>
1.4 Membership, voting rights, and procedures for the meeting
</h3>


<h3>
1.5 Agenda review and approval
</h3>
<p>Clamage presented the agenda (document <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2797.pdf">PL22.16/08-0307 = WG21/N2797</a>).</p>
<p>Plauger proposed the following amendment to the agenda:</p>
<blockquote>Add agenda item 7.1.1: <b>Special Math IS and Decimal TR</b> so that these items will be discussed during the Thursday general session.</blockquote>
<p><b>Motion to approve the agenda as amended:</b></p>
<table border="1">
<tbody><tr><td><b>Mover:</b> Stoughton</td></tr>
<tr><td><b>Seconder:</b> Hedquist</td></tr>
</tbody></table>

<p>Approved by unanimous consent.</p>

<h3>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.
</h3>

<p>Each of the Working Group chairs presented their plans for the coming week.</p>

<h4>Core Working Group (CWG)</h4>
<p>
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.
</p>

<h4>Library Working Group (LWG)</h4>
<p>
Hinnant reported that LWG has 13 papers and "several hundred" NB comments to process, in addition to the usual backlog.
</p>

<h4>Concurrency Working Group</h4>
<p>
Boehm indicated that the concurrency group may want to meet separately, but that their intention was to meet as part of library first.
</p>

<h3>
1.7 Approval of the minutes of the previous meeting
</h3>

<p><b>Motion to approve the minutes (document <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2784.html">PL22.16/08-0294 = WG21/N2784</a>)</b></p>

<table border="1">
<tbody><tr><td><b>Mover:</b> Abrahams</td></tr>
<tr><td><b>Seconder:</b> Hedquist</td></tr>
</tbody></table>

<p>
Approved by unanimous consent.
</p>

<h3>
1.8 Report on the WG21 Monday meeting
</h3>

<h3>
1.9 Liaison reports
</h3>

<h4>SC22 Chair</h4>

<p>
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.
</p>
<p>
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.
</p>
<p>
Jaeschke also reported that the WG on vulnerabilities will next meet in San Diego.  Their ocument is out for PDTR ballot.
</p>
<p>
Stroustrup: "I thought that this WG was originally meant to be temporary."
</p>
<p>
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.
</p>
<p>
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."
</p>

<h4>WG14 Liaison</h4>

<p>
Plum reported that he took a number of C++ innovations and drafted them as C extensions, including:
</p>
<ul>
<li>static_assert</li>
<li>Raw strings</li>
<li>UTF strings</li>
</ul>
<p>Plum explained that there is a particular interest in keeping the lexical aspects of the two languages the same.
<p>
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."
</p>

<h4>POSIX Liaison</h4>
<p>
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.
</p>

<h3>
1.10 Editor's report and WP approval
</h3>

<h4>1.10.1 Draft WP report and approval</h4>

<p>Document <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2800.pdf">PL22.16/08-0310 = WG21/N2800</a>
</p>

<table border="1">
<tbody><tr><td><b>Mover:</b> Crowl</td></tr>
<tr><td><b>Seconder:</b> Hinnant</td></tr>
</tbody></table>

<p>
Approved by unanimous consent.
</p>

<h3>
1.11 New business requiring actions by the committee
</h3>

<p>
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.
</p>

<h2>
2. Organize subgroups, establish working procedures.
</h2>
<p>
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.
</p>
<p>
Hedquist noted that responses should go in the last column of the table.
</p>
<p>
Plum asked about the Finnish Ballot comment.
</p>
<p>
Plauger explained that an attachment that explained a question on the Finnish Ballot was inexplicably stripped.  We now have that attachment.
</p>


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

<p>The committee broke into subgroups at 10:30 (UTC-5).</p>

<h2>
3. WG sessions (Core, Library, Performance, Evolution).
</h2>

<h2>
4. WG sessions continue.
</h2>

<h2>
5. WG sessions continue.
</h2>

<h2>
6. WG sessions continue.
</h2>

<h2>
7. General session.
</h2>

<h3>
7.1 WG status and progress reports.
</h3>

<h4>7.1.1: Special Math IS and Decimal TR</h4>

<h3>
7.2 Presentation and discussion of DRs ready to be voted on.  Straw votes taken.</h3>

<h4>Core Working Group</h4>

<p>See 10.1, below.</p>

<h4>Library Working Group</h4>

<p>See 10.1, below.</p>

<h2>
8. WG sessions continue
</h2>

<h2>
9. WG sessions continue
</h2>

<h2>
10. Review of the meeting
</h2>

<h3>
10.1 Formal motions, including DRs to be resolved.
</h3>

<h4>Core Working Group</h4>
<p>
<b>Motion 1</b><br/>
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.
</p>

<p>Approved by unanimous consent.</p>

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

<p>Approved by unanimous consent.</p>

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

<p>Hinnant read the following statement:</p>
<blockquote>
<p>
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).
</p>
<p>
If we apply N2844, we will put forward into a subtly broken state, not
unlike auto_ptr or vector&lt;bool&gt;.  Things will generally work until you
explore the corner cases.
</p>
<p>
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.
</p>
<p>
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.
</p>
</blockquote>

<p>Motion to amend as described in the statement above.</p>
<table border="1">
<tbody><tr><td><b>Mover:</b> Hinnant</td></tr>
<tr><td><b>Seconder:</b> Brown</td></tr>
</tbody></table>

<p>
Abrahams disagreed with the severity of the concern raised by Hinnant.
</p>

<b>Motion to amend:</b>
<table border=1>
<tr>
<th>
Favor
</th>
<th>
Oppose
</th>
<th>
Abstain
</th>
</tr>
<tr>
<td>
19
</td>
<td>
5
</td>
<td>
8
</td>
</tr>
</table>
<p>Motion carries.</p>

<p>
Voting on amended amended motion:
</p>
<p>
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. 
</p>
<p>Approved by unanimous consent.</p>

<p>
<b>Motion 4</b><br/>
Move we apply N2830 "Problems with reference_closure" to the C++0X Working Paper. 
</p>

<p>Approved by unanimous consent.</p>

<h4>Library Working Group</h4>

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

<p>Approved by unanimous consent.</p>

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

<p>Approved by unanimous consent.</p>

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

<p>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.</p>
<p>Motion withdrawn.</p>

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

<p>Approved by unanimous consent.</p>

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

<p>Approved by unanimous consent.</p>

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

<ol>
<li>Change the name of macro __CPP_MATH_SPEC_FUNCS to __STDCPP_MATH_SPEC_FUNCS__, and change its value from 200809L to 200903L.</li>
<li>Change the name of macro __CPP_WANT_MATH_SPEC_FUNCS to __STDCPP_WANT_MATH_SPEC_FUNCS__.</li>
</ol>

<p>Approved by unanimous consent.</p>

<h3>10.2 Future meetings:</h3>

<p>
See 11.1, below.
</p>

<h3>
10.3 Issues delayed until Friday 
</h3>
<p>
None.
</p>

<h2>
11. Plans for the future
</h2>

<p>
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.
</p>


<h3>
11.1 Next meeting
</h3>

<p>The next meeting will take place July 13 to 18 in Frankfurt, Germany.  The meeting details are documented in
<a href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2711.pdf">PL22.16/08-0221=WG21/N2711</a>
.
</p>

<h3>
11.2 Mailings
</h3>
<p>
Nelson reported the following mailing deadlines:
</p><p>
<table border="1">
<tbody><tr>
<td>post-meeting mailing</td>
<td>March 20, 2009</td>
</tr>
<tr>
<td>mid-term mailing</td>
<td>May 1, 2009</td>
</tr>
<tr>
<td>pre-Frankfurt mailing</td>
<td>June 19, 2009</td>
</tr>
</tbody></table>

<h3>
11.3 Following meetings
</h3>
<p>
The following meetings are as follows:
</p>
<ol>
<li>October 19-24 2009, Santa Cruz CA</li>
</ol>

<p>
Nelson moved to thank the host.  Applause.
</p>

<p><b>Motion to adjourn</b></p>
<table border="1">
<tbody><tr><td><b>Mover:</b> Brown</td></tr>
<tr><td><b>Seconder:</b> Hedquist</td></tr>
</tbody></table>
<p>Unanimous consent.</p>

<h2>
Attendance
</h2>
<table class="right" border="1">
<tbody><tr>
<th>Company/Organization</th>
<th>Representative</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
</tr>

<tr>
<td>Apple Computer</td>
<td>Howard E. Hinnant</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Apple Computer</td>
<td>Doug Gregor</td>
<td></td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Bloomberg</td>
<td>John Lakos</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>BoostPro Computing</td>
<td>David Abrahams</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>BoostPro Computing</td>
<td>Mat Marcus</td>
<td></td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Cilk Arts</td>
<td>Pablo Halpern</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Dinkumware</td>
<td>P. J. Plauger</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Dinkumware</td>
<td>Tana Plauger</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Dinkumware</td>
<td>Christopher Walker</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td>J. Stephen Adamczyk</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td>Mike Herrick</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td>Jens Maurer</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td>William M. Miller</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td>John H. Spicer</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Edison Design Group</td>
<td>Daveed Vandevoorde</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Embarcardo</td>
<td>Alisdair Meredith</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Fermi Nat. Accelerator Lab</td>
<td>Walter E. Brown</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Gimpel Software</td>
<td>James Widman</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Google</td>
<td>Lawrence Crowl</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Hewlett-Packard</td>
<td>Hans Boehm</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>IBM</td>
<td>Robert Klarer</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>IBM</td>
<td>Michael Wong</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
<td>A</td>
</tr>

<tr>
<td>Intel</td>
<td>Clark Nelson</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Microsoft</td>
<td>Jonathan Caves</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Perennial</td>
<td>Barry Hedquist</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Plum Hall</td>
<td>Thomas Plum</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Red Hat</td>
<td>Jason Merrill</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Red Hat</td>
<td>Benjamin Kosnik</td>
<td></td>
<td></td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Rogue Wave Software</td>
<td>Martin Sebor</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Roundhouse Consulting</td>
<td>Pete Becker</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Seymour</td>
<td>Bill Seymour</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Sun Microsystems</td>
<td>Stephen D. Clamage</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td></td>
</tr>

<tr>
<td>Symantec</td>
<td>Mike Spertus</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td></td>
</tr>

<tr>
<td>Texas A&amp;M</td>
<td>Bjarne Stroustrup</td>
<td>V</td>
<td>V</td>
<td></td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>USENIX</td>
<td>Nick Stoughton</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>Zephyr Associates</td>
<td>Thomas Witt</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
<td>V</td>
</tr>

<tr>
<td>INRIA</td>
<td>Sylvain Pion</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>ISO/IEC JTC1/SC22 Chair</td>
<td>Rex Jaeschke</td>
<td>N</td>
<td>N</td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Rapid Mind</td>
<td>Stefanus Du Toit</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
<td></td>
</tr>

<tr>
<td>University Carlos III</td>
<td>J. Daniel Garcia</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Vollmann Engineering</td>
<td>Detlef Vollmann</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>Alan Talbot</td>
<td></td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
<td>N</td>
</tr>

<tr>
<td>James Curran</td>
<td></td>
<td>N</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
<td>Ville Voutilainen</td>
<td></td>
<td>N</td>
<td>N</td>
<td>N</td>
<td></td>
<td></td>
</tr>

</tbody></table>
</body></html>