<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "<a href="http://www.w3.org/TR/html4/strict.dtd">http://www.w3.org/TR/html4/strict.dtd</a>">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<style type="text/css">

body { color: #000000; background-color: #FFFFFF; }
del { text-decoration: line-through; color: #8B0040; }
ins { text-decoration: underline; color: #005100; }

p.example { margin-left: 2em; }
pre.example { margin-left: 2em; }
div.example { margin-left: 2em; }

code.extract { background-color: #F5F6A2; }
pre.extract { margin-left: 2em; background-color: #F5F6A2;
  border: 1px solid #E1E28E; }

p.function { }
.attribute { margin-left: 2em; }
.attribute dt { float: left; font-style: italic;
  padding-right: 1ex; }
.attribute dd { margin-left: 0em; }

blockquote.std { color: #000000; background-color: #F1F1F1;
  border: 1px solid #D1D1D1;
  padding-left: 0.5em; padding-right: 0.5em; }
blockquote.stddel { text-decoration: line-through;
  color: #000000; background-color: #FFEBFF;
  border: 1px solid #ECD7EC;
  padding-left: 0.5empadding-right: 0.5em; ; }

blockquote.stdins { text-decoration: underline;
  color: #000000; background-color: #C8FFC8;
  border: 1px solid #B3EBB3; padding: 0.5em; }

table { border: 1px solid black; border-spacing: 0px;
  margin-left: auto; margin-right: auto; }
th { text-align: left; vertical-align: top;
  padding-left: 0.8em;  }
td { text-align: left; vertical-align: top;
  padding-left: 0.8em;  }

</style>

<title>WG21 2015-05 Lenexa Minutes</title>
</head>
<body>
<h1>WG21 2015-05 Lenexa Minutes</h1>

<p>
ISO/IEC JTC1 SC22 WG21 <a hRef="../2015/n4490.html">N4490</a> - 2015-05-29
</p>

<address>
Jonathan Wakely, cxx@kayari.org
</address>

<pre>
WG21 Meeting No. 61
May 4-9, 2015 – Lenexa, KS, USA
</pre>

<h2><a name="Opening">1. Opening activities</a></h2>
<p>Monday, May 4, 9:00am–noon</p>
<p>
Nelson opened the meeting at 9:00am.
</p>

<h3><a name="Welcome">1.1 Opening comments, welcome from host</a></h3>
<p>
Price explained the facilities.
Spicer explained new procedures for attendance sheets and document-number
signup sheets.
</p>

<h3><a name="Guidelines">1.2 Meeting guidelines (INCITS Patent and Anti-Trust policies)</a></h3>
<p>
<a href="http://www.incits.org/standards-information/legal-info
">http://www.incits.org/standards-information/legal-info</a>
</p>
<p>
<a href="http://www.incits.org/dotAsset/63b6e457-53b9-4933-9835-7c74e77ca2fd.pdf
">http://www.incits.org/dotAsset/63b6e457-53b9-4933-9835-7c74e77ca2fd.pdf</a>
</p>
<p>
(ISO meeting guidelines)
</p>
<p>
<a href="http://www.iso.org/iso/codes_of_conduct.pdf
">http://www.iso.org/iso/codes_of_conduct.pdf</a>
</p>
<p>
Nelson stated the importance of the Antitrust Guidelines and Patent Policy,
and why they are not discussed at meetings, requesting that anyone who had not
read them to do so promptly.
</p>

<h3><a name="Membership">1.3 Membership, voting rights, and procedures for the meeting</a></h3>
<p>
Nelson explained that anyone registered with a National Body gets to vote in
WG21 straw polls, and that in working group meetings anyone present in the
room gets to vote on those straw polls.
</p>

<h3><a name="Introductions">1.4 Introductions</a></h3>

<p>Everyone introduced themselves.</p>

<h3><a name="Agenda">1.5 Agenda review and approval</a></h3>
<p>
Nelson explained that an update to <a hRef="../2015/n4394.html">N4394</a> was posted on the wiki with some
additional hyperlinks.
</p>
<p>
The agenda was unanimously approved.
</p>

<h3><a name="Editor">1.6 Editors’ reports, approval of drafts</a></h3>

<p>
Sutter explained that approval is required so that the updated working drafts
prepared by the editor between meetings can be accepted as the new working
draft. On this occasion, there are updated drafts in the pre-meeting mailing for
Library Fundamentals and Concurrency, but they contain work not approved at a
WG21 meeting yet, so the ones being approved now are older working drafts.
</p>

<p>
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4431.pdf">N4431</a>, C++ Working Draft, was unanimously approved.
</p>
<p>
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4352.html">N4352</a>, Parallelism Working Draft, was unanimously approved.
</p>
<p>
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4301.pdf">N4301</a>, Transactional Memory Working Draft, was unanimously approved.
</p>
<p>
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4335.html">N4335</a>, Library Fundamentals Working Draft, was unanimously approved.
</p>
<p>
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4336.html">N4336</a>, Library Fundamentals v2 Working Draft, was unanimously approved.
</p>
<p>
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4361.pdf">N4361</a>, Concepts Working Draft, was unanimously approved.
</p>

<h3><a name="Minutes">1.7 Approval of the minutes of the previous meeting</a></h3>
<p>
Sutter explained that at the pre-meeting administrative telecon it was agreed
that we would approve the minutes of all meetings since the last face-to-face
meeting.
</p>
<p>
Plum questioned the status of the required correction to <a hRef="../2014/n4251.html">N4251</a>, to add the
title of LWG Motion 18. Wakely explained that the title should have been
"LWG Motion 18, Move we apply to the C++ Working Paper the Proposed Wording
from <a hRef="../2014/n3911.pdf">N3911</a>, TransformationTrait Alias void_t."
</p>
<p>
The minutes of the previous meetings in
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4251.html">N4251</a> (as amended),
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4252.pdf">N4252</a> (as amended),
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4349.html">N4349</a>,
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4362.html">N4362</a>,
and <a href="https://isocpp.org/files/papers/n4489.html">N4489</a>
were unanimously approved.
</p>

<h2><a name="Liaison">2. Liaison reports, and WG21 study group reports</a></h2>
<p>
<a href="https://isocpp.org/files/papers/n4489.html">N4489</a> contains the
minutes of the pre-meeting administrative telecon, which
explains some changes to procedures.
</p>

<p>
Sutter reviewed the changes to ISO policies for a TS, removing the DTS stage.
The Concepts PDTS ballot period is ongoing, so early comments can be reviewed
this week but no new working draft will be produced this week. There may be a
ballot resolution telecon after the ballot closes which could produce an
updated paper for publication, if no new PDTS is deemed necessary.
</p>
<p>
Sutter also explained that the Library Fundamentals v1 TS and Parallelism TS
are ready for publication but publishing them has been delayed until this
meeting. If there are no objections and no requested changes at this meeting
they will go straight to publication after the meeting.
</p>
<p>
Sutter drew attention to
<a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4437.pdf">N4437</a>
as an exemplar of progressing work from an
existing ISO document into the C++17 working draft. The plan for such cases
will be to treat the existing ISO document as an advanced proposal, then
generate a paper with updated wording and bing it forward for approval to
apply to the C++ IS working draft.
</p>

<p>
Sutter also gave notice that there will be discussion on Saturday about the
option to have an additional meeting between Kona (October 2015) and Oulu
(June 2016).
Plum announced he would not be present on Saturday and requested that the
discussion happen sooner. Nelson agreed to hold the discussion on Friday.
</p>

<p>
Meredith questioned whether the C++17 CD would still be ready after the Oulu
meeting or after a possible meeting earlier in 2016. Sutter said that
decision would be taken later.
</p>
<p>
Sutter presented a Standard C++ Foundation liaison report. The Foundation will
be able to provide financial assistance for WG21 meetings and proposal
authors, at the request of WG21 and with the approval of the directors.
</p>

<p>
Nelson gave a WG14 liaison report, there was nothing of relevance to C++ to
report from their recent meeting. Meredith queried their progress on binding
IEEE 754 to the C standard. Nelson said it was progressing, but not complete.
It is unclear whether this will have any effect on C++.
</p>


<h2><a name="Progress">3. WG progress reports and work plans for the week</a></h2>
<p>
Miller presented the Core WG report. He restated that some work will be done
to review early ballot comments on the Concepts TS during this meeting, as a
joint session with Core and Evolution, but complete review of the comments
will take place at a later meeting after the ballot closes. A decision will be
taken at a later date whether to issue another PDTS for another ballot. At
this meeting.
</p>

<p>
Voutilainen reported that the Evolution WG have a number of proposals and the
joint session on Concepts. There are multiple proposals on coroutines that
Evolution might request be combined.
</p>

<p>
Clow thanked Meredith for his work as Library WG chair, to applause. Clow said
there is a long list of nearly 200 issues to be resolved. He reported that
some issues were processed in Cologne that will be brought straight forward
for a vote at the end of this meeting, with no further work expected on them
during the meeting. There are some proposals, but most LWG time this week will
be spent on issues. LWG will be looking at Niebler's paper on customization
points as a source of guidance for designing future library features.
</p>

<p>
Yasskin reported that Library Evolution has roughly 30 papers to look at. He
explained that LEWG will be trying a "workshop approach" where papers are
initially reviewed in small groups and then bought to the full group later in
the week.
</p>

<p>
Boehm reported that SG1 has a full agenda. The first item will be to review a
single comment on the Parallelism TS. The plan is to produce a Concurrency
PDTS at the end of the meeting.
</p>

<h2><a name="New">4. New business requiring actions by the committee</a></h2>
<p>
No new business.
</p>

<h2><a name="Organize">5. Organize Working Groups and Study Groups, establish working procedures.</a></h2>
<p>
Maurer announced plans for evening sessions, then arranged room allocations
for the week.
</p>

<h2><a name="WGSessions">6. WG and SG sessions.</a></h2>
<p>Monday, May 4 from afternoon break until 5:30pm. From Tuesday, May 5 to
Thursday, May 7 8:30am-5:30pm. Friday, May 8 8:30am-noon.</p>

<h2><a name="FridayGeneral">7. Review of the meeting</a></h2>
<p>Friday, May 8, 1:30pm–5:30pm</p>
<p>
Nelson opened the meeting at 13:35.
</p>

<p>
Sutter reminded the meeting that many of the study groups are inactive or did
not meet at this meeting.
</p>
<p>
<strong>SG2: Modules</strong> (Gregor) -- Inactive
</p>
<p>
<strong>SG3: File system</strong> (Dawes) -- Did not meet
</p>
<p>
<strong>SG5: Transactional memory</strong> (Wong)
--
Achieved the milestone of voting out the publication of the TS. It has passed
through PDTS, NB comments went through working groups this meeting. There will
be a Core motion to publish the TS. SG5 will meet in Kona to look at the
status of implementations.
</p>
<p>
<strong>SG6: Numerics</strong> (Crowl)
--
The group met and got an outline of a TS that should hang together well.
Papers are needed to fill in the gaps of the outline. On track, but won't be
producing a TS in Kona, but maybe the meeting after that.
</p>
<p>
<strong>SG7: Reflection</strong> (Carruth)
--
Had a meeting, lots of papers in flight, and lots of big design decisions to
make. No active proposals except those that have moved on to other groups
already.
</p>
<p>
Voutilainen asked about type property queries. Carruth responded there has
been no progress at this meeting, but the big design issues need to be solved
first before committing to an interface for type property queries.
</p>
<p>
<strong>SG8: Concepts</strong> (Austern) -- did not meet
</p>
<p>
<strong>SG9: Ranges</strong> (Clow)
--
SG9 did not meeting, there was a paper from Eric Niebler but it was forwarded
to LEWG because it's a concrete proposal. Discussions continue on the mailing
list. The group will expect to meet if more papers are received, otherwise
Eric's work will progress in LEWG.
</p>
<p>
Meredith asked if the work was anticipated in SG9 or LEWG. Clow responded it
would depend on the proposals. Eric' proposal is in LEWG, others that might
come in might be dealt with by SG9.
</p>
<p>
<strong>SG10: Feature test</strong> (Nelson)
--
Nelson reported that SG10 met and helped get feature-test macros into the
Concurrency and Parallelism TSs before they go to publication. What was done
for C++14 was late and poor, but doing a better job for C++17.
</p>
<p>
Miller pointed out there is now boilerplate language that can be pasted into a
TS to recommend a feature-test macro. Nelson said the boilerplate will be in a
future version of SD-6.
</p>
<p>
<strong>SG12: Undefined and unspecified behavior</strong> (Dos Reis)
--
Did not meet, most SG12 members were in Core or Evolution sessions.
</p>
<p>
<strong>SG13: I/O</strong> (Sutter)
--
I/O did not meet. There was a paper at this meeting, handled in Core. The 2D
graphics proposal that was seen by LEWG in Urbana is not quite complete. The
author intends to come to Kona with a complete paper and hopes for some
feedback this summer.
</p>
<p>
<strong>SG1: Concurrency</strong> (Boehm)
--
SG1 is working on several TSs. The first Parallelism TS went out for PDTS,
there are two new changes being moved at this meeting, better exception
handling and a feature-test macro. The exception-handling change is a response
to an NB comment that had been looked at previously and approved by SG1, but
not in time for the PDTS. The Concurrency TS is ready to be voted out for PDTS
ballot. It contains better futures, latches and barriers and atomic smart
pointers. It no longer contains atomic_unique_ptr.
</p>
<p>
Some unofficial projects for the future are a potential Parallelism TS 2,
which would be cumulative, including the content of the first TS, as well as
Task Regions, maybe algorithm executor support, maybe SIMD support. A second
Concurrency TS might contain executors and maybe a variadic lock guard.
</p>
<p>
Other topics discussed are is_always_lock_free, coroutines (in joint session
with EWG), fixes and extensions to promises, TLS, memory_order_consume,
optimization of atomics, Pi calculus and issue processing.
</p>
<p>
<strong>Evolution</strong> (Voutilainen)
--
Got through almost all papers. Gave design guidance for TM NB comments and
Concepts NB comments. Gave directional guidance for Arrays TS. Resumable
functions and default comparisons and operator dot are going forward.
</p>
<p>
No evolution issues were looked at.
</p>
<p>
Modules are progressing, fair amounts of design discussion. similarly for
contracts but a unified contracts proposal is wanted. Unified call syntax did
not achieve consensus. Stackful coroutines need to make some progress. A
number of papers will progress to the relevant groups. Nine proposals were
rejected in their current form. Thanked the scribes for taking minutes, in
particular Gor Nishanov.
</p>
<p>
<strong>Core</strong> (Miller)
--
Emphasis for the week was to process NB comments from the PDTS ballots for
Concepts and TM, reviewing wording in proposals approved by EWG and LEWG, and
process issues.
</p>
<p>
Concepts PDTS ballot is still in progress until 2015-05-13, so no official
action is possible at this meeting. Four NBs (Canada, Finland, UK, US)
provided early copies of their ballot comments early. CWG met with EWG to
consider design-level comments. One comment, US-3, was accepted (and has been
implemented). All other comments at design-level were rejected for this TS and
placed on the EWG issues list for future consideration. CWG provided suggested
responses to all non-design NB comments. There will be a CWG teleconference
after the ballot closes, where the changes will be reviewed, and responses
suggested for any additional comments. There will be an additional WG21
teleconference to approve the responses to NB comments and either publish or
defer final review to Kona.
</p>
<p>
CWG also reviewed responses to TM PDTS NB comments, <a hRef="../2015/n4488.html">N4488</a>, which has been
reviewed by CWG and LWG. Updated working paper, <a hRef="../2015/n4513.pdf">N4513</a>, and a final TS, <a hRef="../2015/n4514.pdf">N4514</a>,
were produced at this meeting reflecting all responses. Rather than voting to
incorporate changes into the document after the meeting to be approved by a
review committee, the updated working paper has been produced during the
meeting so that updated version can be voted in directly in the straw polls.
</p>
<p>
CWG also looked at some papers approved by EWG. <a hRef="../2014/n4320.html">N4320</a> ("Make exception
specifications be part of the type system") will be moved today. <a hRef="../2015/n4429.html">N4429</a>
("Rewording inheriting cosntructors") is in progress. <a hRef="../2015/n4499.pdf">N4499</a> ("Draft Wording
for Coroutines") is also in progress. Additionally CWG reviewed a paper
approved by LEWG <a hRef="../2015/n4519.pdf">N4519</a> ("Source-Code Information Capture").
</p>
<p>
26 DRs at this meeting. 85 new issues since the last meeting, 31 triaged so
far, the remainder will be looked at by the end of the meeting. 20 proposed
resolutions moved to "ready" status.
</p>
<p>
Wong asked whether approval of a Coroutine paper affects the status of other
related proposals. Voutilainen confirmed they are still in flight, but EWG
didn't have time to make progress on them this meeting. They have not been
rejected and are still in progress. Further work is expected in the stackless
coroutine area.
</p>
<p><a name="CWGMotions"></a>
Core had four motions for straw polls.
</p>

<h4><a name="CWG1">Straw poll, CWG Motion 1,</a>
Move to accept as Defect Reports the following issues from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4457.html">N4457</a> (all issues in "ready" status except 1986) and apply their proposed resolutions to the C++ working paper: 
<br>
1309 1652 1873 1875
</h4>
<p>
CWG Motion 1 was approved by unanimous consent.
</p>

<h4><a name="CWG2">Straw poll, CWG Motion 1,</a>
Move to accept as Defect Reports all issues in "tentatively ready" status from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4457.html">N4457</a> and apply their proposed resolutions to the C++ working paper:
<br>
1247 1886 1888 1899 1916 1920 1922 1925 1926 1929 1942 1951 1952 1956 1958 1963 1966 1967 1971 1978 1988 1999
</h4>
<p>
CWG Motion 2 was approved by unanimous consent.
</p>

<h4><a name="CWG3">Straw poll, CWG Motion 3,</a>
Move to approve <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4513.pdf">N4513</a> as the Transactional Memory TS working paper and direct the Convener to transmit <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4514.pdf">N4514</a> for publication as the Transactional Memory TS.
</h4>
<p>
CWG Motion 3 was approved by unanimous consent.
</p>

<h4><a name="CWG4">Straw poll, CWG Motion 4, </a>
Move to apply to the C++ working paper the proposed wording from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4518.html">N4518</a>, "Make exception specifications be part of the type system, version 2."
</h4>
<p>
Wakely asked whether this has any ABI impact.
Maurer said you cannot overload a function on the presence of an except spec,
but can overload on parameters of function pointer types.
Smith said this is an ABI change in some corner cases.
Spicer said it must be accounted for in name mangling.
Carruth said it can cause additional extern symbols due to additional instantiations.
</p>
<p>
Stroustrup asked about calling <tt>qsort</tt> with a pointer to noexcept function, it was confirmed it won't fail to compile because there is an implicit conversion from ptr to noexcept function to ptr to throwing function.
</p>
<p>
Dos Reis pointed out there was encouragement for implementations to add noexcept in places it wasn't required, on the basis it couldn't be noticed, but now it can.
</p>
<p>
Lavavej pointed out that templates specialized on types of functions need additional cases to handle new types.
Merrill said deduction still works for passing functions to function templates.
Lavavej wanted to think about it.
Meredith also wanted to think about the library impact of extending the type system in this way.
Carruth also wanted to assess binary impact.
</p>
<p>
Nelson asked if library would be able to discuss the issues the following day
and whether that would be good enough to resolve people's concerns.
Carruth said assessing binary breakage would take longer, not all
relevant implementors are present.
Sutter suggested nothing would be lost by deferring this motion until Kona.
Nelson asked for objections to deferring the motion and none were given.
</p>
<p>
CWG Motion 4 was withdrawn.
</p>

<p>
<strong>Library Evolution</strong> (Yasskin)
--
LEWG covered nearly 30 papers, after prioritizing them at the start of the
meeting. The 4 papers not reviewed were the lowest priority ones and had no
authors present. The workshop format was useful, didn't increase or decrease
speed, but was less stressful. Variant eventually got fairly good consensus.
Ranges will be quickly revisited tomorrow and design review will be finished in
teleconf. A third of the Networking design questions were processed and will
be resumed tomorrow.
</p>

<p>
<strong>Library</strong> (Clow)
--
It was a busy week for LWG, but with not nearly as many papers as usual.
</p>
<p>
Reviewed changes to Concurrency TS and Parallelism TS.
Authors have already produced new papers so as for the TM motion the motions
today will be to accept the already updated papers.
</p>
<p>
Paper on nothrow-swappable traits was reviewed and well received,
but as the papers contained three possible proposals it is not
moving today, an updated paper with just the third proposal has been requested. 
</p>
<p>
Several papers were reviewed for Library Fundamentals 2 TS.
</p>
<p>Some
papers reviewed in Cologne are being brought forward, without being reviewed
again this week.
</p>
<p>
Many issues were processed.
Moving 30 issues that were Ready at the start of the meeting.
</p>
<p>
Several more issues were being moved as Immediate that are important to fix
now, and several more where the fix is trivial and should be uncontroversial,
although some issues in Motion 12 were not in the pre-meeting mailing.
Maurer said there would be no rush to fix them and so it would be
better to defer them to Kona.
Meredith suggested that since there is no paper in the mailing with the changes, the issues should be deferred until wording can be read.
Maurer pointed out that the links in the motions should go to a stable
N-numbered paper so Meredith offered to assist generating a new N-numbered
document containing the updated resolutions for the Motion 12 issues.
Hedquist pointed out that if that happens then there would need to be discussion of the issues tomorrow.
Lavavej says that the Motion 12 issues are either completely trivial and
should be dealt with immediately, or are ones important to fix before
implementations ship with known defects.
Spicer said he would prefer to defer to Kona, as the issues will still be Ready
and implementors are free to ship the fixes.
</p>
<p>
Nelson said that given a new paper with wording the urgent issues from motion
12 could be looked at on Saturday, but the rest of Motion 12 would be deferred to Kona.
</p>
<p>
Meredith requested that the 3 issues in Motion 11 affecting Fundamentals TS
be made part of a motion to apply them to the TS before voting it out.
</p>
<p>
Sutter asked whether there was controversy in LWG about any of the Motion 12
issues, there was not.
</p>
<p>
Clow resumed his report, expecting to have three teleconferences before Kona.
He thanked scribes and Meredith for past work as chair and help during the meeting.
</p>

<p><a name="LWGMotions"></a></p>

<h4><a name="LWGMotionsConc">Concurrency TS</a></h4>

<h4><a name="LWG1">Straw poll, LWG Motion 1, </a>
Move to adopt <a hRef="../2015/n4501.html">N4501</a> as the Concurrency TS working paper and direct the Convener to transmit the approved updated working paper for PDTS ballot.
</h4>
<p>
LWG Motion 1 was approved by unanimous consent.
</p>

<h4><a name="LWGMotionsPar">Parallelism TS</a></h4>

<h4><a name="LWG2">Straw poll, LWG Motion 2, </a>
Move to adopt <a hRef="../2015/n4505.pdf">N4505</a> as the Parallelism TS working paper and direct the Convener to transmit the approved updated working paper for publication.
</h4>
<p>
Hedquist asked if there were NB comments and responses to them. Sutter recalled
that all but one of those comments were responded to at past meetings. Boehm
confirmed that the single comment had now been addressed. Sutter requested that
Boehm gets a new N-paper with updated disposition of comments, including the
one additional response.
</p>
<p>
LWG Motion 2 was approved by unanimous consent.
</p>

<h4><a name="LWGMotionsLibFund">Library Fundamentals TS</a></h4>

<p>
LWG Motion 3 was deferred to Saturday.
</p>

<h4><a name="LWG4">Straw poll, LWG Motion 4, </a>
Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4388">N4388</a>, "const-propagating smart pointer wrapper"
</h4>
<p>
LWG Motion 4 was approved by unanimous consent.
</p>


<h4><a name="LWG5">Straw poll, LWG Motion 5, </a>
Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4391">N4391</a>, "make_array"
</h4>
<p>
LWG Motion 5 was approved by unanimous consent.
</p>

<h4><a name="LWG6">Straw poll, LWG Motion 6, </a>
Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from <a hRef="../2015/n4512.html">N4512</a>, "Multidimensional bounds, offset and array_view, revision 7"
</h4>
<p>
Edwards said that the feedback given in Issaquah was not incorporated into the
paper. The same issues were raised again in Rapperswil, and then pointed out
by two papers which had support in LEWG, and still have not been addressed.
Yasskin confirmed this and said the people with problems with the design are
writing proposals to alter the content of the TS.
</p>
<table>
<tr><td></td><th>yes</th><th>no</th><th>abstain</th></tr>
<tr><td>WG21:</td><td>16</td><td>14</td><td>26</td></tr>
</table>
<p>
LWG Motion 6 was withdrawn.
</p>

<h4><a name="LWG7">Straw poll, LWG Motion 7, </a>
Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from <a hRef="../2015/n4519.pdf">N4519</a>, "Source-Code Information Capture"
</h4>
<p>
LWG Motion 7 was approved by unanimous consent.
</p>

<h4><a name="LWG8">Straw poll, LWG Motion 8, </a>
Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from <a hRef="../2015/n4502.pdf">N4502</a> "Proposing Standard Library Support for the C++ Detection Idiom, v2"
</h4>
<p>
LWG Motion 8 was approved by unanimous consent.
</p>

<h4><a name="LWG9">Straw poll, LWG Motion 9, </a>
Move we direct the project editor to merge Library Fundamentals V1 into Library Fundamentals V2 according to the instructions in <a hRef="../2015/n4521.html">N4521</a>
</h4>
<p>
LWG Motion 9 was approved by unanimous consent.
</p>

<h4><a name="LWGMotionsCxx17">C++ Working Paper</a></h4>

<p>
Motions 10 and 11 were deferred until Saturday.
</p>

<h4><a name="LWG12">Straw poll, LWG Motion 12, </a>
Move we apply the resolutions the issues listed in <a hRef="../2015/n4525.html">N4525</a> to the C++ Working Paper:
<br>
2063 2407 2420 2442 2464 2488
</h4>
<p>
Motion 12 was withdrawn.
</p>

<h4><a name="LWG13">Straw poll, LWG Motion 13,</a>
Move we apply to the C++ Working Paper the Proposed Wording from <a hRef="../2015/n4386.pdf">N4386</a>, "tuple_size primary template should be defined"
</h4>
<p>
Liber requested that the motion be withdrawn as problems have been pointed out
on the reflector since the discussion in Cologne.
</p>
<p>
LWG Motion 13 was withdrawn.
</p>

<h4><a name="LWG14">Straw poll, LWG Motion 14,</a>
Move we apply to the C++ Working Paper the Proposed Wording from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387">N4387</a>, "improving pair and tuple"
</h4>
<p>
LWG Motion 14 was approved by unanimous consent.
</p>

<h4><a name="LWG15">Straw poll, LWG Motion 15,</a>
Move we apply to the C++ Working Paper the Proposed Wording from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4389">N4389</a> "bool_constant"
</h4>
<p>
LWG Motion 15 was approved by unanimous consent.
</p>

<h4><a name="LWG16">Straw poll, LWG Motion 16,</a>
Move we apply to the C++ Working Paper the Proposed Wording from <a hRef="../2015/n4508.html">N4508</a>, "shared_mutex for C++17"
</h4>
<p>
LWG Motion 16 was approved by unanimous consent.
</p>

<h4><a name="LWG17">Straw poll, LWG Motion 17,</a>
Move we apply to the C++ Working Paper the Proposed Wording from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366">N4366</a>, "LWG 2228 missing SFINAE rule"
</h4>
<p>
LWG Motion 17 was approved by unanimous consent.
</p>

<h4><a name="LWG18">Straw poll, LWG Motion 18, </a>
Move we apply to the C++ Working Paper the Proposed Wording from <a hRef="../2015/n4510.html">N4510</a>, "Minimal incomplete type support for standard containers, revision 4"
</h4>
<p>
LWG Motion 18 was approved by unanimous consent.
</p>

<h4><a name="LWG19">Straw poll, LWG Motion 19, </a>
Move we apply to the C++ Working Paper the Proposed Wording from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4437.pdf">N4437</a>, "Conditionally-supported Special Math Functions, v3", amended by removing the paragraph starting with "Additionally, the appearance in <tt>&lt;cmath&gt;</tt> of the functions and other specifications of clause [sf] is conditionally supported."
</h4>

<p>Clow recounted that these functions were in TR1 but were not brought into
C++11 due to concerns about the small size of the user base. Instead they were
published in a separate IS in 2010, which is now up for review. The
proposal is to let the other IS lapse and fold these into C++17. The original
paper proposed to make these conditionally-supported, but there were a number
of views expressed this week about the pros and cons of
conditionally-supported. The motion is to adopt the paper but make these
functions mandatory not optional.
</p>
<p>
Maurer said letting the existing IS lapse now, before a new C++ standard is
ready, would leave two years with no IS for these functions. Suggested
re-confirming the other IS in Kona.
</p>
<p>
Plauger gave historical background on the difficulty of implementing these,
which scared the committee at the time. There has since been an open-source
implementation produced, which changes the situation.
Carruth says that for some open-source implementations the existence of a
different open-source implementation does not necessarily help them.
</p>
<p>
Stroustrup asked whether a freestanding function is required to support these
functions. Nelson said no.
</p>
<p>
Wong asked whether there had been any consideration for doing it as a TS.
Dos Reis says it was a TR that became an IS.
</p>
<p>
It was stated that for the scientific community these functions are important
and for C++ to be relevant to the community including these is important.
</p>
<p>
Lavavej said he has no objection to conditionally-supported but if it's
mandatory the cost is maintenance and debugging. Well-qualified users will
report bugs that they may not be in a position to handle and deal with. The
cost is a concern and it should be considered when users call for these
features.
</p>
<p>
Wakely pointed out the proposal is to put headers in math.h which C++
implementation do not control. Brown has agreed to address this, but Wakely
said we must stop pretending implementations control C headers.
</p>
<p>
Sutter said that conditionally-supported has typically been used for small
things that users can test for the presence of, this is a big feature. Sutter
said that one ISO approach is to have optional parts of a standard. That is
effectively the status quo due to it being in a separate IS, moving it in to
the standard would be similar except having a single project number for one
IS, not two. Sutter reported there is one implementation of the existing IS,
and one of the older TR1 spec. If people want these functions they know where
to find them.
</p>
<p>
Stroustrup said scientific computing is not niche, but that this doesn't
necessarily need to be in the standard. The cost for smaller implementation
vendors is very high.
</p>
<p>
Carruth said these are not vaporware or pipedreams, they are concrete and
useful but hard to implement, so worth standardizing for that reason. Carruth
said fixing bug reports with these functions is hard because the standard says
nothing about precision of floating point operations whatsoever. Building up a
strong set of specifications is important, and we don't have to prioritize it
right now, but we do need to grow support for the scientific community.
</p>
<p>
Naumann stressed the importance of these functions and that they must not be
conditionally-supported. CERN is concerned that their code will continue to
compile in more than a decade, so they don't use anything not in an IS. Having
these in the IS would allow them to stop maintaining their own versions.
</p>
<p>
<p>
Finkel stated that Boost has most of these implemented too. He says it's 21
functions, with three overloads each, but the single-precision ones can just
be done in double-precision and cast back to float. He stressed the importance
of these in many domains, insurance and statistics. We should consider
supporting them unconditionally. He was unaware there even was an
implementation of the IS rather than just TR1. When purchasing supercomputers
it is expected that when stating requirements for a programming language there
will be an ISO standard to refer to. Requiring an additional IS increases
costs. Unlike determining the right interface for a new type, these are much
more well established and well understood.
</p>
<p>
Lavavej said the number of functions is not a good indicator of the difficulty
of implementing and supporting them. If it's conditionally-supported vendors
can make business decisions about supporting them.
</p>
<p>
Boehm asked what the license is of the open-source implementation and whether
he wants it on his phone.
Wakely said there is one with the usual libstdc++ licence and one with the
usual Boost licence.
</p>
<p>
Wong said the for C this is a TR. Wakely specified ISO/IEC 24747.
IS.
</p>
<p>
Halpern said conditionally-supported is effectively not standardized.
</p>
<p>
Stroustrup said this seems a very short time to make such a big decision,
and asked whether there is a great hurry to decide on this.
Nelson asked if anyone would like to address whether this should be discussed now or in Kona.
Carruth suggested we vote, and if it fails revisit it again in Kona.
</p>
<p>
Brown said that this discussion alone has raised awareness of the numerics
community which is good. These functions originated in ISO 31-11 decades ago
because they are essential for some domains. There has been a paper
languishing for years suggesting improvements to our IS but there is no work
item that would allow that to be done. The user community have eloquently and
clearly said these things are fundamental to them.
</p>
<p>
Sutter took a poll to determine support for LWG Motion 19 as written.
</p>
<table>
<tr><td></td><th>yes</th><th>no</th><th>abstain</th></tr>
<tr><td>WG21:</td><td>30</td><td>14</td><td>17</td></tr>
</table>
<p>
Sutter said we do not have strong consensus.
</p>
<p>
Carruth argued that conditional support is worse. It pits users against
vendors, by putting the vendors in the position of refusing to do what they
request.
</p>
<p>
Voutilainen pointed out that conditionally-supported is not the same as the
status quo, because at DIS ballot an NB could request that it be made
unconditional.
</p>
<p>
Sutter said if these go in (conditionally or not) he would seek a CD ballot
soon to determine support for this from the wider community, so it would not
cause problems later alongside other features we do want in C++17.
</p>
<p>
Meredith was concerned about introducing the first conditionally-supported
things into the library. That will spread to additional things.
Lavavej pointed out that over-aligned types and garbage collection are
conditionally-supported in the library.
</p>
<p>
Carruth argued that for vendors to vote in favor of conditionally-supported
doesn't make sense, as it suggests they are putting something to the standard
that they do not plan to implement.
</p>
<p>
Stroustrup suggested postponing this to Kona as he is surprised by the heat of
this discussion. Sutter says that the proposal author may not be willing to
try to bring this again, and we have an unusually large number of people from
the scientific community.
</p>
<p>
Zhao wondered why vendors would be in favor of conditionally-supported, because
their users can go to another vendor if they refuse to implement it.
</p>
<p>
Dos Reis requested the convener to say whether the poll had consensus again,
as the result was two-to-one.
Sutter said the consensus was not strong enough, with 14 against.
Yasskin said he would hesitate to call this consensus even in
a working group session.
</p>
<p>
Meredith said garbage-collection is not the same, because the functions are
required to be present even if they do nothing, but stdint.h was pointed out as another conditionally-supported function.
</p>
<p>
Spicer said that there are claims of strong demand from users, but vendors
usually like to make their users happy, so would have expected there to be
several available implementations, and the absence of them to indicate that
demand is not that strong.
</p>
<p>
Halpern asked whether putting this into the WP would mean letting the IS lapse.
Hedquist said because of the timing we should reaffirm the IS then withdraw it
once we have a new C++ IS including these.
</p>
<p>
Sutter took a poll to determine support for <a hRef="../2015/n4437.pdf">N4437</a>, but there were only four in
favor, so no consensus.
</p>
<p>
Meredith asked whether it was worth taking the first poll again and
Sutter took another poll to determine support for LWG Motion 19 as written.

<table>
<tr><td></td><th>yes</th><th>no</th><th>abstain</th></tr>
<tr><td>WG21:</td><td>31</td><td>13</td><td>16</td></tr>
</table>
<p>
Sutter again determined the poll to be insufficient for consensus and so
LWG Motion 19 was withdrawn.
</p>


<p>
End of straw polls
</p>

<p>
Discussion of next meetings took place.
</p>

<table>
<tr><td> 2015-10:</td><td> Kona, HI, USA</td></tr>
<tr><td></td><td></td></tr>
<tr><td>2016-02:</td><td> (continental US)</td></tr>
<tr><td>2016-06:</td><td> (tentatively) Oulu, Finland</td></tr>
<tr><td>2016-10:</td><td> (continental US)</td></tr>
</table>

<p>
It was suggested to take longer lunch breaks in Kona and work longer in to the
evening.
</p>

<p>
Adjourned at 17:09
</p>



<h2><a name="LastSessions">8. WG and SG sessions continue</a></h2>
<p>Saturday, May 9, 8:30am-noon</p>

<h2><a name="Close">9. Closing activities</a></h2>
<p>
Nelson opened the meeting at 13:30.
</p>
<h3>9.1 Confirm WG21 consensus to adopt proposals</h3>

<p>
The motions approved on Friday were approved without further discussion.
</p>

<p>
Discussion and straw polls took place for the deferred motions.
</p>

<h4><a name="LWG3">Straw poll, LWG Motion 3, </a>
Move we apply the resolutions of the following issues in "Tentatively Ready" status from <a hRef="../2015/n4383.html">N4383</a> to the Library Fundamentals V1 working paper:
<br>
2410 2418 2463
</h4>
<p>
LWG Motion 3 was approved by unanimous consent.
</p>

<h4><a name="LWG3a">Straw poll, LWG Motion 3a, </a>
Move to appoint a review committee composed of Jeffrey Yasskin, Daniel Krügler, and Marshall Clow to approve the correctness of these changes, and to direct the Convener to transmit the approved working paper of Library Fundamentals V1 to publication.
</h4>
<p>
LWG Motion 3a was approved by unanimous consent.
</p>

<h4><a name="LWG10">Straw poll, LWG Motion 10, </a>
Move we apply the resolutions of the following issues in "Ready" status from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4383.html">N4383</a> to the C++ Working Paper:
<br>
2160 2168 2364 2403 2406 2411 2425 2427 2428 2433 2434 2438 2439 2440
</h4>
<p>
LWG Motion 10 was approved by unanimous consent.
</p>

<h4><a name="LWG11">Straw poll, LWG Motion 11, </a>
Move we apply the resolutions of the following issues in "Tentatively Ready" status from <a href="http:://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4383.html">N4383</a> to the C++ Working Paper:
<br>
2059 2076 2239 2369 2378 2415 2437 2448 2454 2455 2458 2459 2467 2470 2482
</h4>
<p>
LWG Motion 11 was approved by unanimous consent.
</p>



<h3><a name="PL22.16Motions">9.2 PL22.16 motions</a></h3>
<p>No motions.</p>

<h3><a name="Issues">9.3 Issues delayed until today</a></h3>
<p>
Sutter announced the formation of SG14, Game Development, with Michael Wong as
interim chair. The group may also be interested in low latency.
Tentatively planning to meet in 2015-09 at CppCon and in 2016-03 at GDC.
Sutter called a poll for potential attendance at these conferences.
Orr asked for two polls on interest in the subject separately from potential
attendance.  Riegel asked for clarification of low latency.
There was lots of interest in participating in SG14,
with a smaller number interested in attending meetings.
</p>

<p>
Clow announced LWG telecon dates as June 12th, July 31st, Sept 11th.
</p>

<p>
Sutter moved to thank the host.
</p>

<p>
Brown moved to thank the officers, project editors, scribes and everyone else
who contributed.
</p>


<h2><a name="Plans">10. Plans for the future</a></h2>
<h3><a name="Meetings">10.1 Next and following meetings</a></h3>

<p>
Sutter announced a plan to start Friday afternoon plenary later in Kona,
extending into the evening as necessary.
</p>
<p>


<h3><a name="Mailings">10.2 Mailings</a></h3>
<p>
Post-meeting mailing deadline is May 22.
Pre-Kona mailing deadline is Sept 25.
</p>

<h2><a name="Adjourn">11. Adjournment</a></h2>
<p>
Hedquist moved to adjourn, seconded by Carruth. Unanimously approved.
</p>

<h2><a name="Attendance">12. Attendance</a></h2>
<p>
The column "WG21" designates official PL22.16 or WG21 status ("P", "A", "E", "M")
</p>
<p>
The column "PL22.16" indicates organizations eligible to vote by "V".
</p>
<p>
An "x" marks a day attended, for days unattended, the field is blank.
</p>

<h3><a name="PL22Attendance">12.1 PL22.16 members</a></h3>
<table border=1>
<tr>
<th>Company/Organization</th>
<th>NB</th>
<th>Representative</th>
<th>M</th>
<th>T</th>
<th>W</th>
<th>R</th>
<th>F</th>
<th>S</th>
<th>WG21</th>
<th>PL22.16</th>
</tr>

<tr>
<td>AMD</td><td></td><td>Robin Maffeo</td>
<td></td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>Argonne National Lab</td><td></td><td>Hal Finkel</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td>
<td>P</td><td>V</td>
</tr>

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

<tr>
<td>Bloomberg</td><td>UK</td><td>Alisdair Meredith</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Bloomberg</td><td>UK</td><td>Dietmark K&uuml;hl</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Bloomberg</td><td></td><td>Nathan Myers</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>Bloomberg</td><td></td><td>Shane Fletcher</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>Brown</td><td></td><td>Walter Brown</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>E</td><td></td>
</tr>

<tr>
<td>CERT Coordination Center</td><td></td><td>Aaron Ballman</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>Cisco Systems</td><td></td><td>Lars Gullik Bjønnes</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

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

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

<tr>
<td>DRW Holdings</td><td></td><td>Nevin Liber</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>Edison Design Group</td><td></td><td>John H. Spicer</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

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

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

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

<tr>
<td>FlightSafety International</td><td></td><td>Billy Baker</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>FlightSafety International</td><td></td><td>Robert Lindhorst</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>Google</td><td></td><td>Chandler Carruth</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td>V</td>
</tr>

<tr>
<td>Google</td><td></td><td>Hans Boehm</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>Google</td><td></td><td>James Dennett</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>Google</td><td></td><td>Jeffrey Yasskin</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Google</td><td>CA</td><td>JF Bastien</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Google</td><td>UK</td><td>Richard Smith</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Google</td><td></td><td>Thomas Koeppe</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>GreenWireSoft</td><td></td><td>Juan Alday</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>IBM</td><td>CA</td><td>Michael Wong</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>IBM</td><td>CA</td><td>Hubert Tong</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

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

<tr>
<td>Intel</td><td></td><td>Arch Robison</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Intel</td><td></td><td>Pablo Halpern</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>KCG Holdings</td><td></td><td>Robert Douglas</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>KCG Holdings</td><td></td><td>Alexander Kondratskiy</td>
<td>x</td><td>x</td><td></td><td></td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>Lawrence Livermore</td><td></td><td>James Frederick Reus</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td>V</td>
</tr>

<tr>
<td>Lexmark International</td><td></td><td>Michael Price</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>Lexmark International</td><td></td><td>Ryan Lucchese</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td></td><td></td>
</tr>

<tr>
<td>Lexmark International</td><td></td><td>Eric Kuch</td>
<td></td><td></td><td></td><td></td><td>x</td><td></td>
<td></td><td></td>
</tr>

<tr>
<td>Louisiana State University</td><td></td><td>Hartmut Kaiser</td>
<td>x</td><td>x</td><td>x</td><td></td><td></td><td></td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>Louisiana State University</td><td></td><td>Agustin Berge</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

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

<tr>
<td>Microsoft</td><td></td><td>Artur Laksberg</td>
<td>x</td><td>x</td><td>x</td><td></td><td></td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>Microsoft</td><td></td><td>Gabriel Dos Reis</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Microsoft</td><td></td><td>Herb Sutter</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Microsoft</td><td></td><td>Stephan T. Lavavej</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Microsoft</td><td></td><td>Gor Nishanov</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>Morgan Stanley</td><td></td><td>Bjarne Stroustrup</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>Morgan Stanley</td><td></td><td>Jeff Zhuang</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>NVidia</td><td></td><td>Jared Hoberock</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td>
<td>A</td><td>V</td>
</tr>

<tr>
<td>NVidia</td><td></td><td>Michael Garland</td>
<td></td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>NVidia</td><td></td><td>Olivier Giroux</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>Oracle</td><td></td><td>Maxim Kartashev</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>A</td><td>V</td>
</tr>

<tr>
<td>Oracle</td><td></td><td>Victor Luchangco</td>
<td>x</td><td>x</td><td>x</td><td></td><td></td><td></td>
<td>A</td><td></td>
</tr>

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

<tr>
<td>Perennial</td><td></td><td>Lawrence Crowl</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

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

<tr>
<td>Plum Hall</td><td>FI</td><td>Ville Voutilainen</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Programming Research Group</td><td></td><td>Christof Meervald</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td>V</td>
</tr>

<tr>
<td>Qualcomm</td><td></td><td>Marshall Clow</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

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

<tr>
<td>Red Hat</td><td>UK</td><td>Jonathan Wakely</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>Red Hat</td><td></td><td>Torvald Riegel</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>A</td><td></td>
</tr>

<tr>
<td>Ripple Labs</td><td></td><td>Howard E. Hinnant</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td>V</td>
</tr>

<tr>
<td>Riverbed Technology</td><td></td><td>Oleg Smolsky</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>P</td><td>V</td>
</tr>

<tr>
<td>Sandia National Labs</td><td></td><td>Carter Edwards</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td>V</td>
</tr>

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

<tr>
<td>Stellar Science</td><td></td><td>David Sankel</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>P</td><td></td>
</tr>

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

<tr>
<td>Texas A&amp;M University</td><td></td><td>Lawrence Rauchwerger</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>A</td><td></td>
</tr>

<tr>
<td>University of Chicago</td><td></td><td>Chanaka Liyanaarachchi</td>
<td>x</td><td></td><td></td><td></td><td></td><td></td>
<td>P</td><td></td>
</tr>

</table>

<h3><a name="WG21Attendance">12.2 Other WG21 members</a></h3>

<table border=1>
<tr>
<th>Company/Organization</th>
<th>NB</th>
<th>Representative</th>
<th>M</th>
<th>T</th>
<th>W</th>
<th>R</th>
<th>F</th>
<th>S</th>
<th>WG21</th>
<th>PL22.16</th>
</tr>

<tr>
<td>Mozilla</td><td>CA</td><td>Botond Ballo</td>
<td>x</td><td>x</td><td>x</td><td></td><td></td><td></td>
<td>M</td><td></td>
</tr>

<tr>
<td>CERN</td><td>CH</td><td>Axel Naumann</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td>M</td><td></td>
</tr>

<tr>
<td>Vollmann Engineering</td><td>CH</td><td>Detlef Vollmann</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>M</td><td></td>
</tr>

<tr>
<td></td><td>CH</td><td>Mauro Bianco</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>M</td><td></td>
</tr>

<tr>
<td>Cryptotec</td><td>FI</td><td>Mikael Kilpel&auml;inen</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>M</td><td></td>
</tr>

<tr>
<td></td><td>UK</td><td>Dinka Ranns</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>M</td><td></td>
</tr>

<tr>
<td>PDT Partners</td><td>UK</td><td>Jeff Snyder</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>M</td><td></td>
</tr>

<tr>
<td></td><td>UK</td><td>Roger Orr</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td>M</td><td></td>
</tr>

</table>

<h3><a name="OtherAttendance">12.3 Participating non-members</a></h3>

<table border=1>
<tr>
<th>Company/Organization</th>
<th>NB</th>
<th>Representative</th>
<th>M</th>
<th>T</th>
<th>W</th>
<th>R</th>
<th>F</th>
<th>S</th>
<th>WG21</th>
<th>PL22.16</th>
</tr>

<tr>
<td>LKT Engineering</td><td></td><td>Alan Talbot</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td></td><td></td><td>Casey Carter</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>CSSDEV</td><td></td><td>Cleihon S. Silve</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td></td><td></td>
</tr>

<tr>
<td>Aeroflex</td><td></td><td>David Hagood</td>
<td>x</td><td>x</td><td>x</td><td></td><td></td><td></td>
<td></td><td></td>
</tr>

<tr>
<td></td><td></td><td>Eric Fiselier</td>
<td>x</td><td>x</td><td></td><td></td><td></td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td></td><td></td><td>Eric Niebler</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td></td><td></td><td>Jean-Paul Rigault</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td></td><td></td>
</tr>

<tr>
<td>Frankfurt Inst. for Adv. Studies</td><td></td><td>Matthis Kretz</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td></td><td></td>
</tr>

<tr>
<td>Sony</td><td></td><td>Michael Spencer</td>
<td>x</td><td></td><td></td><td></td><td></td><td></td>
<td></td><td></td>
</tr>

<tr>
<td></td><td></td><td>Nat Goodspeed</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td></td>
<td></td><td></td>
</tr>

<tr>
<td>Universitè de Sherbrooke</td><td></td><td>Patrice Roy</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td></td><td></td><td>Paul Sece</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>Coverity by Synopsys</td><td></td><td>Tom Honermann</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

<tr>
<td>Eruces, Inc.</td><td></td><td>Tyler Tvedten</td>
<td>x</td><td></td><td></td><td></td><td></td><td></td>
<td></td><td></td>
</tr>

<tr>
<td></td><td></td><td>Zhihao Yuan</td>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td>
<td></td><td></td>
</tr>

</table>

</body></html>

