ISO/IEC JTC1 SC22 WG21 N4053 - 2014-07-02Ville Voutilainen, firstname.lastname@example.org
WG21 Meeting No. 58 June 16-21, 2014 – Rapperswil, Switzerland
Monday, June 16, 9:00am–noon
Clamage opened the meeting at 9:10am and briefly reminded about the SC22 procedure changes.
Sommerlad summarized the meeting room and break facilities, the social events, and the talks that will be happening during the week.
Nelson summarized the changes in the attendance sheet. Sutter clarified that P-member representatives should have a letter in the box next to their name. Clamage had the people in the room introduce themselves.
(ISO meeting guidelines)
Clamage pointed to the policies and instructed interested people to take a look at them.
Sutter briefly explained the membership changes; no delegations and no heads of delegation; all members listed in the ISO Global Directory will vote. Sutter also pointed out that PL22.16 votes do not need to be taken separately unless there are PL22.16-internal votes.
Clamage said that Nelson can clarify Global Directory membership, and Nelson pointed out that the letter indicator in the attendance sheet will indicate that.
Lavavej asked whether multiple representative of a single PL22.16 member company can vote, and Sutter clarified that that is the case, as is the case for multiple members designated by the same National Body.
Sutter also clarified that there's no longer a need for a mover and a seconder for motions.
The agenda in N3979 was unanimously approved.
The minutes of the previous meeting in N3901 and N3902 were unanimously approved.
Smith reminded that there's no new draft since the ballot is ongoing and thanked Du Toit for his work as the previous editor.
Sutter clarified that the usual business goes on even during ballot resolution, but there will be no motions to modify the main working draft.
N4023, Library Fundamentals Working Draft, was unanimously approved.
N3940, Filesystem Working Draft, was unanimously approved.
N3989, Parallelism Working Draft, was unanimously approved.
Most recent C meeting was in April in Parma, Italy. Plum said there's no new standard work, and summarized that the IEEE floating point TS is where the most activity has been happening. Plum also pointed out that the convener will change. Meredith asked about decimal floating point, Seymour said that the IEEE TS will include some amount of decimal floating point support.
Yasskin asked about the status of the constexpr numerics library, which was thought to be handled by the C committee first. Seymour said there has been no activity on that front. [Secretarial note: Yasskin was referring to LEWG bug 37, which says "Seymour will submit a paper to WG14."]
Giroux asked whether the C committee is looking at support for 16-bit floating point, Plum said that none of the liaisons are part of the IEEE study group.
Boehm said there are some unintended incompatibilities in atomics.
Clamage said that the sub-group and study group reports are in N4052 (the admin teleconference minutes).
Miller summarized that the CWG plan is to review papers, including the Concepts TS, and said that this is slightly different from the usual procedure since the document will be moved without the usual document+list of changes+review committee. Core will also do the usual issue processing, but issue resolutions will not be moved as the main draft is under ballot.
Meredith said the top priority for LWG is ballot resolution for Filesystem TS, and to get it to the next round (DTS). Fundamentals TS is planned to go for PDTS ballot. Parallelism TS is going to be reviewed. Issue processing otherwise as usual, but not going to be moved. Meredith indicated the possibility of having more library meetings next year to be able to cope with all the TSes coming in.
Boyouki asked what the status of the date proposal is, Meredith said there's no activity on it, but whatever proposal comes in will go to LEWG first.
Arrays TS is going to be on EWG's agenda.
Lavavej asked whether there are going to be joint LWG+LEWG sessions and Meredith said that that will happen if needed, and that there's a meeting on Friday to discuss noexcept guidelines.
Meredith also mentioned that there's going to be incoming work from LEWG that is targeting Fundamentals v2.
Sutter requested to have a discussion about the potential third meeting for next year in the saturday session.
Yasskin said that LEWG shouldn't have more than two afternoon's worth of work and said he wishes the LEWG members to be able to split into study groups after the 20-ish issues have been processed. Seymour pointed out that database papers go to LEWG, Yasskin said there are no such papers on the current agenda.
Stroustrup said EWG will start by creating an agenda, dynamic arrays are on the agenda, Concepts if need be. Paper reviews are on the agenda.
Boehm (SG1, Concurrency) said Parallelism TS is aimed for PDTS, but said that's a bit of a stretch. Atomics compatibility with C should be briefly discussed, and there are lots of Concurrency papers coming in, and there are issues to be processed.
Gregor (SG2, Modules) said there's a paper and new implementation experience, and a single session should be sufficient.
Dawes (SG3, Filesystem) said that all Filesystem work will be done within LWG.
SG4 (Networking) issues will be handled by LEWG. Yasskin said he thinks it's better to postpone networking stuff to Urbana since the paper authors are not present.
Wong (SG5, Transactional Memory) reported that wording review in Core is on the agenda. There's a paper for transactional std::list, which should go to LEWG/LWG. The plan is to get a Working Draft out of this meeting. No separate session needed.
SG6 (Numerics) had no chair present and no paper authors, so its work is postponed to Urbana.
Carruth (SG7, Reflection) said there are 5 papers, an evening session planned. Carruth also said that papers that have no presenters will not be looked at and feedback will not be given.
Concepts (SG8) work happens mostly in CWG at this point.
Clow (SG9, Ranges) reported that there are no new papers and thus there's no reason to have a session.
Nelson (SG10, Feature Test) reported that there should be an LEWG discussion about feature testing in TSes, and an EWG discussion about a macro for testing for attributes.
SG11 (Databases) has been disbanded.
Dos Reis (SG12, Undefined and unspecified behaviour) reported that the papers have no champions present and thus the SG will not meet.
Sutter (SG13, I/O) reported that the SG has one paper, one quarter-day session suffices for presentation. Potentially interesting for LEWG.
Sutter reminded about the discussion about new reflectors, and summarized that it's going to be either mailman or google groups, and requested feedback if someone has a strong preference either way.
Sommerlad presented the sub-group room assignments.
Monday, June 16 from afternoon break until 5:30pm. From Tuesday, June 17 to Thursday, June 19 8:30am-5:30pm. Friday, June 20 8:30am-noon.
Friday, June 20, 1:30pm–5:30pm
Clamage opened the meeting, and pointed out that he's been a committee member for 25 years and the chair for 20 years. Clamage announced he's going to retire from active committee participation after Urbana, Nelson will become the Chair, Spicer will become Vice Chair. Clamage reminded that the ballot is still ongoing and there will be no motions to modify the main standard draft.
Sutter explained the voting rules again. van Winkel asked what the situation with proxies is, and Sutter said he would prefer not having to deal with a potentially large number of proxies. Sutter clarified that only P-members vote, O-members don't. Carruth asked what the situation is for companies that have not yet finalized either their INCITS membership procedures or are not yet in the Global Directory, Sutter said that the people who know they are in the Global Directory or on their way there should vote, and those who are not yet INCITS voting members should not. Sutter pointed out that the poll mechanisms are a means to an end, so that he can accomplish two goals: determine consensus and make sure that the likelyhood of a document failing in a ballot is low, so it's not a major concern that the proportion of voting members has changed. Clamage pointed out that what is sought for is overwhelming consensus, and explained that few opposing votes don't pose a problem, but a large amount of opposing votes does, so the goal is to have overwhelming consensus.
Miller gave the CWG report. As the main document is under ballot, CWG has no motions in this meeting. CWG reviewed the Concepts wording in the time span of more than two days. There will not be a PDTS ballot yet, since there were a lot of changes to details. The reviews will continue in teleconferences (July 14 is the first). The goal is to issue a PDTS for Concepts in Urbana. Sutter thanked CWG for good cooperation with EWG on design issues.
CWG also reviewed the Transactional Memory wording, and made suggestions for addressing code bloat in the generated code, referring the suggestions back to SG5 and EWG.
CWG expects to have motions in Urbana for N3928 (Extending static_assert, targeting C++17), N3994 (Range-for, next generation, targeting C++17), N3922 (New rules for auto deduction from braced-init-list, C++11 defect).
CWG triaged 105 new issues since Issaquah. 60 assigned for drafting, the rest have a lower priority. Drafting review will start after the plenary. Teleconferences will be organized for drafting review before Urbana, tentative plan is to have one teleconference per month. Wong pointed out that SG5 would also like to have teleconferences between meetings to review their proposal.
Meredith gave the LWG report. LWG didn't get through all papers targeted for it before the meeting, but managed to get the planned ballot items done. Filesystem PDTS ballot comments have been handled. Dawes explained that issue 53 was rather involved, but the others were mostly wording fixes. Josuttis pointed out that not adding relative_path was also non-editorial. Plauger summarized 53 as being an optimization fix for multi-threaded code as the technique proposed earlier ends up being expensive.
Yasskin summarized that LEWG handled approximately 20 issues, forwarded about half of them to LWG, and noticed that they can forward things to LWG faster than LWG can handle them, and indicated they are thinking of ways to solve that problem. Yasskin said that The Asio paper is meant to serve as the initial content for a networking TS, but the WP is not voted yet, in order to avoid surprising people. Voutilainen made the remark that he was surprised, but in a very pleasant manner. Yasskin summarized the changes that put standard library features into the experimental namespace with small modifications.
Stroustrup gave the EWG report. He mentioned the possibility that a study group will be formed for embedded systems and summarized a handful of proposals that were reviewed and encouraged to go further. Stroustrup also summarized the proposals that were considered ready to go to CWG. Stroustrup called out the vote to remove trigraphs. Voutilainen pointed out that N4029 has national opposition. Josuttis expressed astonishment towards the paper going forward when EWG passed it but LEWG was opposed to it. Miller pointed out that there is some opposition to the paper in CWG as well. Stroustrup and Sutter suggested that the proposal shouldn't be discussed in the plenary, but in a separate session in Urbana. Stroustrup finally summarized the papers that didn't pass. Meredith asked what the schedule of the Arrays TS is, and whether LWG should work on the issues related to it. Yasskin explained that things like array_view are heading for Library Fundamentals TSes. Maurer asked whether the Arrays TS should be canceled, Sutter said that will not be done yet since the project editor has proposals in the pipeline. Stroustrup explained that the future of the Arrays TS will probably be discussed in Urbana. Stroustrup then gave a general presentation about evolution, making a general plea to avoid complexity.
Boehm summarized SG1 progress. SG1 did a large amount of work on the Parallelism TS and forwarded it to LEWG and LWG. Boehm mentioned that N3991 Task Regions didn't make it for inclusion, and should be put into a revision of the Parallelism TS. SG1 also worked on the Concurrency TS, and forwarded some of those papers to LEWG and LWG, but decided to not include executors in the Concurrency TS. SG1 did discuss other things such as coroutines and fibers and other such future extensions. van Eerd asked whether all SG1 papers go to LEWG and then to LWG, or whether papers can go directly to LWG. Boehm said that papers go to LEWG first, and Yasskin explained that there's an expedited process available for simple papers that have no design issues.
Gregor summarized SG2 (Modules) progress, summarizing the design paper presented. SG2 will produce a couple of papers for Urbana, illustrating the general direction and some technical details that need to be solved.
Carruth summarized SG7 progress. SG7 had one evening session, and looked at three papers. N3972 is going forward to LEWG. N4027 is going to progress in SG7. N3984 and N3987 were mentioned as papers without champions, and SG7 emphasized that papers need to have champions or they will not be discussed. Sutter pointed out that the committee makes an effort to help find champions for papers. Josuttis requested paper authors to provide usage examples of their proposed facilites. Halpern suggested making announcements about papers that don't have champions. Carruth said that such announcements are made on the SG7 reflector.
Nelson summarized that SG10 didn't meet separately, but got feedback from EWG for the check for an attribute and had other discussions in LEWG.
Sutter summarized SG13, and said that the paper was presented to LEWG and will proceed with the creation of wording.
Straw poll to adopt N3936 as the working draft was approved by unanimous consent.
Sutter summarized the email reflector update, and gave a tentative heads-up that Mailman is the likely choice, but the hosting solution is undecided. The actual decision and the details will be done during the summer.
LWG Motion 1 was approved by unanimous consent.
LWG Motion 2 was approved by unanimous consent.
LWG Motion 3 was approved by unanimous consent.
the edits requested in document N4067 Experimental std::function etc.
Discussion ensued about which document the front matter references. Sutter said that since this is just a working draft, such things are not significant. Meredith clarified that it's going out for a PDTS ballot. Yasskin said he had checked the ISO rules for referring to documents and said the way it's referred should not be problematic.
Carruth explained the two options for fixing the ABI breakage: removing the ABI-affecting changes or cloning the classes into the TS. The former failed to achieve consensus. Yasskin asked whether Carruth thinks the motion improves the TS, and Carruth explained that this combination is the worst one possible. Dawes pointed out that the document reference issue is in his opinion editorial. Finkel concurred with Carruth's view that the cloning of classes to the TS is problematic and said that an implementation vendor has to compile two versions of the library. Wakely said that he doesn't understand the need to compile two versions of the library.
Yasskin thought that while there is increased burden for implementors, but at least we can ship something that users can decide to provide feedback for. Halpern thought that this solution is less burden for implementors, since we don't require an ABI break, and we give vendors multiple options how to ship the TS. Dos Reis and Romer voiced concern about the burden and confusion for users. Yasskin reminded that since we're going out with a PDTS, there's time to file comments and issues.
LWG Motion 4 Straw poll results were
In Favor: 36 Opposed: 4 Abstain: 19
Sutter declared consensus, motion approved.
LWG Motion 5 was approved by unanimous consent.
LWG Motion 6 was approved by unanimous consent.
LWG Motion 7 was approved by unanimous consent.
Caves voiced concern about adding more cases of undefined behavior. Garcia voiced concern about adding macros to the library, since that can be seen as encouragement for macros. Garcia additionally voiced concern about potentially preventing future evolution of language facilities for checking contracts, and pointed out that this proposal practically introduces the notion of build modes into the standard, which we have thus far avoided. Sommerlad pointed out that there's a specific scope guard in the paper but there's a more general one coming in. Josuttis said that we can change the TS if we need to. Sutter asked whether this paper prevents going into a direction where preconditions assert and functions with such preconditions are noexcept. Meredith said he doesn't think so. Carruth agreed on Garcia's point about macros, and cited implementation concerns because the paper modifies the global namespace. Carruth also pointed out that SG7 is working on reflection facilities that would avoid such macros. Carruth also pointed out that these macro names may constitute a breaking change.
Stroustrup said this proposal is the most sweeping change to how we talk about programs and interfaces, and expressed concern about its usage being widespread enough, and thought this is not just a library issue and EWG should look at it. Wakely pointed out that the macros have "std" in the name but they are not yet targeting a standard. Lavavej pointed out that adding any identifiers may be a breaking change in the presence of using-declarations. Sutter asked whether different naming was considered, Meredith explained that the goal is to use user-friendly names. Halpern said that we should let the "great" stand in the way of "good", and that this is something that people keep reinventing. Yasskin pointed out that these macros can cause odr violations.
Dennett voiced caution against putting documents out because we don't have a good track record of being able to change our minds. Stroustrup re-emphasized that this proposal is a big deal in the way of what kind of a message this proposal sends to the community about how we talk about interfaces and exceptions and apis. He said this is setting direction and is a very significant matter. Meredith pointed out that the paper says nothing about exceptions. Carruth explained that the source information facilities by SG7 should appear in the next meeting and cited N3972.
LWG Motion 8 straw poll results were
In favor: 9 Opposed: 38 Abstain: 12
The motion was removed from the formal motions page.
Josuttis asked how to report issues and/or change the facility before C++17. Sutter explained that going into C++17 allows making fixes before adopting the TS. Dawes explained that SG3 will continue working on new revisions of Filesystem.
Ballot Motion 1 was approved by unanimous consent.
Sutter explained that early 2015 is the earliest possible publication date.
Ballot Motion 2 was approved by unanimous consent.
Ballot Motion 3 was approved by unanimous consent.
Other things that are coming for Fundamentals v2 include
Ballot Motion 4 was approved by unanimous consent.
LEWG Motion 1 was approved by unanimous consent.
Sutter summarized the forthcoming meeting, pointing to the isocpp.org meetings page. Sutter mentioned that LEWG and LWG may need an extra meeting for 2015. Meredith said that LWG could certainly use an extra meeting, and said that there's desire to have that meeting in Europe. Josuttis pointed out a problem, saying that he can't follow library issues any more, because there's three groups that handle library-related matters. Josuttis also pointed out problems with the workload and being able to provide design feedback. Josuttis suggested that for the extra meeting, it should be just for LWG but that LEWG will not produce additional work during that time. Meredith pointed out that that would make it difficult to get design feedback from LEWG. Sutter asked for a show of hands for people interested in having a meeting in February in Europe, approximately 20 people showed interest.
Carruth asked whether it would be a good idea to have an SG1 meeting, but for that idea there were not enough people. Yasskin asked whether this meeting would need to progress new proposals, Meredith said that would be better known after Urbana. Vollman expressed concern about working on papers if authors aren't present, Sutter suggested working on just the papers that have authors present. Giroux mentioned a desire to have an SG1 meeting in the summer, and 13 people expressed interest for such a meeting, which would likely be in Santa Clara. Meredith asked whether LWG should participate, and Giroux said that it's unlikely to be necessary. Meredith asked whether we should have 3 meetings in 2016, in order to get C++17 out in time. Sutter asked for a show of hands for people's opinion for 3 meetings in 2016, the result was 17 for, 5 against.
Saturday, June 21, 8:30am-noon
Clamage opened the meeting.
Nelson moved to thank the host.
Sutter asked if anyone wants to reopen any of the straw polls for discussion of new information and to retake the poll. There were no requests, so the Friday motion approvals stand unchanged.
Sutter entertained a motion to reject Clamage's retirement. Clamage rejected the motion as out of order.
SG5 plans to have teleconferences for library review. Sutter asked for a reminder to be sent over email, Wong agreed to do so. Meredith suggested putting the dial-in details on the wiki.
July 4th is the post-meeting mailing deadline. Pre-Urbana deadline is October 10th.
Meeting adjourned by unanimous consent.
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.
|Argonne National Lab||Hal Finkel||x||x||x||x||x||x||P||V|
|CERT Coordination Center||Aaron Ballman||x||x||x||x||x||x||P||V|
|Cisco Systems||Lars Gullik Bjønnes||x||x||x||x||x||x||A|
|DRW Holdings||Nevin Liber||x||x||x||x||x||x||P||V|
|Edison Design Group||John H. Spicer||x||x||x||x||x||x||P||V|
|Edison Design Group||Daveed Vandevoorde||x||x||x||x||x||x||A|
|Edison Design Group||Jens Maurer||x||x||x||x||x||x||A|
|Edison Design Group||William M. Miller||x||x||x||x||x||x||A|
|Gimpel Software||James Widman||x||x||x||x||x||x||A|
|NL||JC van Winkel||x||x||x||x||x||x||A|
|Microsoft||Gabriel Dos Reis||x||x||x||x||x||x||A|
|Microsoft||Stephan T. Lavavej||x||x||x||x||x||x||A|
|Morgan Stanley||Bjarne Stroustrup||x||x||x||x||x||x||P|
|Oracle||Stephen D. Clamage||x||x||x||x||x||x||A|
|Perennial||Beman G. Dawes||x||x||x||x||x||A|
|Plum Hall||Thomas Plum||x||x||x||x||x||P||V|
|Plum Hall||FI||Ville Voutilainen||x||x||x||x||x||x||A|
|Programming Research Group||Richard Corden||x||x||x||x||x||x||P||V|
|Programming Research Group||Christof Meervald||x||x||x||x||x||x||A|
|Red Hat||Jason Merrill||x||x||x||x||x||x||P||V|
|Red Hat||UK||Jonathan Wakely||x||x||x||x||x||x||A|
|Red Hat||Torvald Riegel||x||x||x||x||x||A|
|Riverbed Technology||Oleg Smolsky||x||x||x||x||x||P||V|
|Sandia National Labs||Carter Edwards||x||x||x||x||x||P||V|
|Vollmann Engineering||CH||Detlef Vollmann||x||x||x||x||x||x||M|
|Bruker Daltonics||Daniel Krügler||x||x||x||x||x||x|
|think-cell Software||DE||Fabio Fracassi||x||x||x||x||x||x||M|
|TU Dresden||DE||Peter Gottschling||x||x||x||M|
|University Carlos III||ES||J. Daniel Garcia||x||x||x||x||x||x||M|
|PDT Partners||UK||Jeff Snyder||x||x||x||x||x|
|University of Akron||Andrew Sutton||x||x||x||x||x||x|
|University of Nice||Jean-Paul Rigault||x||x||x||x||x|
|Spot Trading LLC||Nathan Wilson||x||x||x||x|
|Saeed Amrollahi Boyouki||x||x||x||x||x||x|
|Technische Universität München||Thomas Neumann||x||x||x||x||x|
|Blackberry||Tony Van Eerd||x||x||x||x||x||x||P|
|think-cell Software||Edgar Binder||x||x||x||x||x||x|
|Taller Technologies||Daniel Gutson||x||x||x||x||x|
|University of Athens||George Makrydakis||x||x||x||x|