http://www.w3.org/TR/html4/strict.dtd"> WG21 2015-05 Lenexa Minutes

WG21 2015-05 Lenexa Minutes

ISO/IEC JTC1 SC22 WG21 N4490 - 2015-05-29

Jonathan Wakely, cxx@kayari.org
WG21 Meeting No. 61
May 4-9, 2015 – Lenexa, KS, USA

1. Opening activities

Monday, May 4, 9:00am–noon

Nelson opened the meeting at 9:00am.

1.1 Opening comments, welcome from host

Price explained the facilities. Spicer explained new procedures for attendance sheets and document-number signup sheets.

1.2 Meeting guidelines (INCITS Patent and Anti-Trust policies)

http://www.incits.org/standards-information/legal-info

http://www.incits.org/dotAsset/63b6e457-53b9-4933-9835-7c74e77ca2fd.pdf

(ISO meeting guidelines)

http://www.iso.org/iso/codes_of_conduct.pdf

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.

1.3 Membership, voting rights, and procedures for the meeting

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.

1.4 Introductions

Everyone introduced themselves.

1.5 Agenda review and approval

Nelson explained that an update to N4394 was posted on the wiki with some additional hyperlinks.

The agenda was unanimously approved.

1.6 Editors’ reports, approval of drafts

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.

N4431, C++ Working Draft, was unanimously approved.

N4352, Parallelism Working Draft, was unanimously approved.

N4301, Transactional Memory Working Draft, was unanimously approved.

N4335, Library Fundamentals Working Draft, was unanimously approved.

N4336, Library Fundamentals v2 Working Draft, was unanimously approved.

N4361, Concepts Working Draft, was unanimously approved.

1.7 Approval of the minutes of the previous meeting

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.

Plum questioned the status of the required correction to N4251, 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 N3911, TransformationTrait Alias void_t."

The minutes of the previous meetings in N4251 (as amended), N4252 (as amended), N4349, N4362, and N4489 were unanimously approved.

2. Liaison reports, and WG21 study group reports

N4489 contains the minutes of the pre-meeting administrative telecon, which explains some changes to procedures.

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.

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.

Sutter drew attention to N4437 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.

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.

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.

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.

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++.

3. WG progress reports and work plans for the week

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.

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.

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.

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.

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.

4. New business requiring actions by the committee

No new business.

5. Organize Working Groups and Study Groups, establish working procedures.

Maurer announced plans for evening sessions, then arranged room allocations for the week.

6. WG and SG sessions.

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.

7. Review of the meeting

Friday, May 8, 1:30pm–5:30pm

Nelson opened the meeting at 13:35.

Sutter reminded the meeting that many of the study groups are inactive or did not meet at this meeting.

SG2: Modules (Gregor) -- Inactive

SG3: File system (Dawes) -- Did not meet

SG5: Transactional memory (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.

SG6: Numerics (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.

SG7: Reflection (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.

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.

SG8: Concepts (Austern) -- did not meet

SG9: Ranges (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.

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.

SG10: Feature test (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.

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.

SG12: Undefined and unspecified behavior (Dos Reis) -- Did not meet, most SG12 members were in Core or Evolution sessions.

SG13: I/O (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.

SG1: Concurrency (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.

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.

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.

Evolution (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.

No evolution issues were looked at.

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.

Core (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.

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.

CWG also reviewed responses to TM PDTS NB comments, N4488, which has been reviewed by CWG and LWG. Updated working paper, N4513, and a final TS, N4514, 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.

CWG also looked at some papers approved by EWG. N4320 ("Make exception specifications be part of the type system") will be moved today. N4429 ("Rewording inheriting cosntructors") is in progress. N4499 ("Draft Wording for Coroutines") is also in progress. Additionally CWG reviewed a paper approved by LEWG N4519 ("Source-Code Information Capture").

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.

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.

Core had four motions for straw polls.

Straw poll, CWG Motion 1, Move to accept as Defect Reports the following issues from N4457 (all issues in "ready" status except 1986) and apply their proposed resolutions to the C++ working paper:
1309 1652 1873 1875

CWG Motion 1 was approved by unanimous consent.

Straw poll, CWG Motion 1, Move to accept as Defect Reports all issues in "tentatively ready" status from N4457 and apply their proposed resolutions to the C++ working paper:
1247 1886 1888 1899 1916 1920 1922 1925 1926 1929 1942 1951 1952 1956 1958 1963 1966 1967 1971 1978 1988 1999

CWG Motion 2 was approved by unanimous consent.

Straw poll, CWG Motion 3, Move to approve N4513 as the Transactional Memory TS working paper and direct the Convener to transmit N4514 for publication as the Transactional Memory TS.

CWG Motion 3 was approved by unanimous consent.

Straw poll, CWG Motion 4, Move to apply to the C++ working paper the proposed wording from N4518, "Make exception specifications be part of the type system, version 2."

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.

Stroustrup asked about calling qsort 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.

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.

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.

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.

CWG Motion 4 was withdrawn.

Library Evolution (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.

Library (Clow) -- It was a busy week for LWG, but with not nearly as many papers as usual.

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.

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.

Several papers were reviewed for Library Fundamentals 2 TS.

Some papers reviewed in Cologne are being brought forward, without being reviewed again this week.

Many issues were processed. Moving 30 issues that were Ready at the start of the meeting.

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.

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.

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.

Sutter asked whether there was controversy in LWG about any of the Motion 12 issues, there was not.

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.

Concurrency TS

Straw poll, LWG Motion 1, Move to adopt N4501 as the Concurrency TS working paper and direct the Convener to transmit the approved updated working paper for PDTS ballot.

LWG Motion 1 was approved by unanimous consent.

Parallelism TS

Straw poll, LWG Motion 2, Move to adopt N4505 as the Parallelism TS working paper and direct the Convener to transmit the approved updated working paper for publication.

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.

LWG Motion 2 was approved by unanimous consent.

Library Fundamentals TS

LWG Motion 3 was deferred to Saturday.

Straw poll, LWG Motion 4, Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from N4388, "const-propagating smart pointer wrapper"

LWG Motion 4 was approved by unanimous consent.

Straw poll, LWG Motion 5, Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from N4391, "make_array"

LWG Motion 5 was approved by unanimous consent.

Straw poll, LWG Motion 6, Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from N4512, "Multidimensional bounds, offset and array_view, revision 7"

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.

yesnoabstain
WG21:161426

LWG Motion 6 was withdrawn.

Straw poll, LWG Motion 7, Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from N4519, "Source-Code Information Capture"

LWG Motion 7 was approved by unanimous consent.

Straw poll, LWG Motion 8, Move we apply to the Library Fundamentals TS Version 2 Working Paper the Proposed Wording from N4502 "Proposing Standard Library Support for the C++ Detection Idiom, v2"

LWG Motion 8 was approved by unanimous consent.

Straw poll, LWG Motion 9, Move we direct the project editor to merge Library Fundamentals V1 into Library Fundamentals V2 according to the instructions in N4521

LWG Motion 9 was approved by unanimous consent.

C++ Working Paper

Motions 10 and 11 were deferred until Saturday.

Straw poll, LWG Motion 12, Move we apply the resolutions the issues listed in N4525 to the C++ Working Paper:
2063 2407 2420 2442 2464 2488

Motion 12 was withdrawn.

Straw poll, LWG Motion 13, Move we apply to the C++ Working Paper the Proposed Wording from N4386, "tuple_size primary template should be defined"

Liber requested that the motion be withdrawn as problems have been pointed out on the reflector since the discussion in Cologne.

LWG Motion 13 was withdrawn.

Straw poll, LWG Motion 14, Move we apply to the C++ Working Paper the Proposed Wording from N4387, "improving pair and tuple"

LWG Motion 14 was approved by unanimous consent.

Straw poll, LWG Motion 15, Move we apply to the C++ Working Paper the Proposed Wording from N4389 "bool_constant"

LWG Motion 15 was approved by unanimous consent.

Straw poll, LWG Motion 16, Move we apply to the C++ Working Paper the Proposed Wording from N4508, "shared_mutex for C++17"

LWG Motion 16 was approved by unanimous consent.

Straw poll, LWG Motion 17, Move we apply to the C++ Working Paper the Proposed Wording from N4366, "LWG 2228 missing SFINAE rule"

LWG Motion 17 was approved by unanimous consent.

Straw poll, LWG Motion 18, Move we apply to the C++ Working Paper the Proposed Wording from N4510, "Minimal incomplete type support for standard containers, revision 4"

LWG Motion 18 was approved by unanimous consent.

Straw poll, LWG Motion 19, Move we apply to the C++ Working Paper the Proposed Wording from N4437, "Conditionally-supported Special Math Functions, v3", amended by removing the paragraph starting with "Additionally, the appearance in <cmath> of the functions and other specifications of clause [sf] is conditionally supported."

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.

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.

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.

Stroustrup asked whether a freestanding function is required to support these functions. Nelson said no.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Wong said the for C this is a TR. Wakely specified ISO/IEC 24747. IS.

Halpern said conditionally-supported is effectively not standardized.

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.

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.

Sutter took a poll to determine support for LWG Motion 19 as written.

yesnoabstain
WG21:301417

Sutter said we do not have strong consensus.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Sutter took a poll to determine support for N4437, but there were only four in favor, so no consensus.

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.

yesnoabstain
WG21:311316

Sutter again determined the poll to be insufficient for consensus and so LWG Motion 19 was withdrawn.

End of straw polls

Discussion of next meetings took place.

2015-10: Kona, HI, USA
2016-02: (continental US)
2016-06: (tentatively) Oulu, Finland
2016-10: (continental US)

It was suggested to take longer lunch breaks in Kona and work longer in to the evening.

Adjourned at 17:09

8. WG and SG sessions continue

Saturday, May 9, 8:30am-noon

9. Closing activities

Nelson opened the meeting at 13:30.

9.1 Confirm WG21 consensus to adopt proposals

The motions approved on Friday were approved without further discussion.

Discussion and straw polls took place for the deferred motions.

Straw poll, LWG Motion 3, Move we apply the resolutions of the following issues in "Tentatively Ready" status from N4383 to the Library Fundamentals V1 working paper:
2410 2418 2463

LWG Motion 3 was approved by unanimous consent.

Straw poll, LWG Motion 3a, 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.

LWG Motion 3a was approved by unanimous consent.

Straw poll, LWG Motion 10, Move we apply the resolutions of the following issues in "Ready" status from N4383 to the C++ Working Paper:
2160 2168 2364 2403 2406 2411 2425 2427 2428 2433 2434 2438 2439 2440

LWG Motion 10 was approved by unanimous consent.

Straw poll, LWG Motion 11, Move we apply the resolutions of the following issues in "Tentatively Ready" status from N4383 to the C++ Working Paper:
2059 2076 2239 2369 2378 2415 2437 2448 2454 2455 2458 2459 2467 2470 2482

LWG Motion 11 was approved by unanimous consent.

9.2 PL22.16 motions

No motions.

9.3 Issues delayed until today

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.

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

Sutter moved to thank the host.

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

10. Plans for the future

10.1 Next and following meetings

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

10.2 Mailings

Post-meeting mailing deadline is May 22. Pre-Kona mailing deadline is Sept 25.

11. Adjournment

Hedquist moved to adjourn, seconded by Carruth. Unanimously approved.

12. Attendance

The column "WG21" designates official PL22.16 or WG21 status ("P", "A", "E", "M")

The column "PL22.16" indicates organizations eligible to vote by "V".

An "x" marks a day attended, for days unattended, the field is blank.

12.1 PL22.16 members

Company/Organization NB Representative M T W R F S WG21 PL22.16
AMDRobin Maffeo xxxx PV
Argonne National LabHal Finkel xxxx PV
BloombergJohn Lakos xxxxx PV
BloombergUKAlisdair Meredith xxxxxx A
BloombergUKDietmark Kühl xxxxxx A
BloombergNathan Myers xxxxxx
BloombergShane Fletcher xxxxxx
BrownWalter Brown xxxxxx E
CERT Coordination CenterAaron Ballman xxxxxx PV
Cisco SystemsLars Gullik Bjønnes xxxxxx PV
DinkumwareP.J. Plauger xxxxx PV
DinkumwareTana Plauger xxxx A
DRW HoldingsNevin Liber xxxx PV
Edison Design GroupJohn H. Spicer xxxxxx PV
Edison Design GroupDaveed Vandevoorde xxxxxx A
Edison Design GroupJens Maurer xxxxxx A
Edison Design GroupWilliam M. Miller xxxxxx A
FlightSafety InternationalBilly Baker xxxxxx PV
FlightSafety InternationalRobert Lindhorst xxxxx A
GoogleChandler Carruth xxxxxx AV
GoogleHans Boehm xxxx A
GoogleJames Dennett xxxx A
GoogleJeffrey Yasskin xxxxxx A
GoogleCAJF Bastien xxxxxx A
GoogleUKRichard Smith xxxxxx A
GoogleThomas Koeppe xxxxxx A
GreenWireSoftJuan Alday xxxxxx PV
IBMCAMichael Wong xxxxxx PV
IBMCAHubert Tong xxxxxx
IntelClark Nelson xxx PV
IntelArch Robison xxxxxx A
IntelPablo Halpern xxxxxx A
KCG HoldingsRobert Douglas xxxxxx PV
KCG HoldingsAlexander Kondratskiy xxxx
Lawrence LivermoreJames Frederick Reus xxxxxx AV
Lexmark InternationalMichael Price xxxxxx PV
Lexmark InternationalRyan Lucchese xxxxx
Lexmark InternationalEric Kuch x
Louisiana State UniversityHartmut Kaiser xxx PV
Louisiana State UniversityAgustin Berge xxxxxx A
MicrosoftJonathan Caves xxxxxx PV
MicrosoftArtur Laksberg xxx A
MicrosoftGabriel Dos Reis xxxxxx A
MicrosoftHerb Sutter xxxxxx A
MicrosoftStephan T. Lavavej xxxxxx A
MicrosoftGor Nishanov xxxxxx
Morgan StanleyBjarne Stroustrup xxxx PV
Morgan StanleyJeff Zhuang xxxxxx
NVidiaJared Hoberock xxxx AV
NVidiaMichael Garland xxxx A
NVidiaOlivier Giroux xxxxx A
OracleMaxim Kartashev xxxxx AV
OracleVictor Luchangco xxx A
PerennialBarry Hedquist xxxxxx PV
PerennialLawrence Crowl xxxxxx A
Plum HallThomas Plum xxxxx PV
Plum HallFIVille Voutilainen xxxxxx A
Programming Research GroupChristof Meervald xxxxxx AV
QualcommMarshall Clow xxxxxx PV
Red HatJason Merrill xxxxxx PV
Red HatUKJonathan Wakely xxxxx A
Red HatTorvald Riegel xxxxxx A
Ripple LabsHoward E. Hinnant xxxxxx V
Riverbed TechnologyOleg Smolsky xxxxx PV
Sandia National LabsCarter Edwards xxxxxx PV
SeymourBill Seymour xxxxx PV
Stellar ScienceDavid Sankel xxxxxx P
SymantecMike Spertus x PV
Texas A&M UniversityLawrence Rauchwerger xxxxx A
University of ChicagoChanaka Liyanaarachchi x P

12.2 Other WG21 members

Company/Organization NB Representative M T W R F S WG21 PL22.16
MozillaCABotond Ballo xxx M
CERNCHAxel Naumann xxxxx M
Vollmann EngineeringCHDetlef Vollmann xxxxxx M
CHMauro Bianco xxxxxx M
CryptotecFIMikael Kilpeläinen xxxxxx M
UKDinka Ranns xxxxxx M
PDT PartnersUKJeff Snyder xxxxxx M
UKRoger Orr xxxxxx M

12.3 Participating non-members

Company/Organization NB Representative M T W R F S WG21 PL22.16
LKT EngineeringAlan Talbot xxxxxx
Casey Carter xxxxxx
CSSDEVCleihon S. Silve xxxxx
AeroflexDavid Hagood xxx
Eric Fiselier xxx
Eric Niebler xxxxxx
Jean-Paul Rigault xxxxx
Frankfurt Inst. for Adv. StudiesMatthis Kretz xxxxx
SonyMichael Spencer x
Nat Goodspeed xxxxx
Universitè de SherbrookePatrice Roy xxxxxx
Paul Sece xxxxxx
Coverity by SynopsysTom Honermann xxxxxx
Eruces, Inc.Tyler Tvedten x
Zhihao Yuan xxxxxx