Doc No: SC22/WG21/N2697 PL22.16/08-0207 Date: 2008-06-30 Project: JTC1.22.32 Reply to: Robert Klarer IBM Canada, Ltd. klarer@ca.ibm.com

Minutes of WG21 Meeting, June 8-15, 2008

1. Opening activities

Clamage called the meeting to order at 09:00 (UTC+2) on Monday, June 8, 2008

1.1 Opening comments

Jean-Paul Rigault described the arrangements and facilities for the meeting.

1.2 Introductions

Clamage had the attendees introduce themselves.

1.3 Meeting guidelines (Anti-Trust)

Clamage reviewed the patent disclosure rules.

1.4 Membership, voting rights, and procedures for the meeting

Nelson reviewed membership rules. Nelson then circulated the attendance list and membership list. Clamage reviewed voting rules and reviewed procedures for the meeting.

1.5 Agenda review and approval

Clamage presented the agenda (document PL22.16/08-0121 = WG21/N2611).

Motion to approve the agenda:

Mover: Hedquist
Seconder: Stoughton
WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

1.6 Distribution of position papers, WG progress reports, WG work plans for the week, and other documents that were not distributed before the meeting.

Each of the Working Group chairs presented their plans for the coming week.

Core Working Group (CWG)

Library Working Group (LWG)

Evolution Working Group (EWG)

1.7 Approval of the minutes of the previous meeting

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

Mover: Hedwick
Seconder: Klarer

P. J. Plauger observed that it's unclear, in subsection 10.1 of document N2592, why Library Working Group Motion 2 did not carry. Accordingly, he proposed a friendly amendment to the motion to approve the minutes.

Amendment: Add the following text to the account of Library Working Group Motion 2 in the minutes.

Because there was no clear consensus among participating WG21 member nations, the convenor ruled that this motion did not carry. Poll results among WG21 voting members was:
WG favor oppose abstain
WG21 2 2 1

Approved by unanimous consent as amended.

1.8 Report on the WG21 Monday meeting

Sutter reported that seven countries are represented at this meeting; all seven have voting status.

As head of the UK delegation, Glassborow made a declaration on behalf of the BSI. The main points of this declaration were:

  1. it is the position of the BSI that, if C++0x specifies concepts as a core language facility, the C++ Standard Library must be modified to exploit this facility
  2. the BSI believes that the specification of concepts -- especially as they are applied to the C++ Standard Library -- needs time to mature, as the C++ community gains experience with the implementation and use of concepts
  3. the BSI intends to vote "No" on any C++0x FCD ballot that contains concepts and that is issued within the next two years; their feeling is that the C++ committee needs to give themselves two more years to refine the document.

Much discussion ensued.

Sutter summarized the preceding discussion thusly:

I don't think that anyone is considering not having concepts at all. The question is which bucket [i.e. which project or document] will contain concepts?
Sutter then asked an open question to Working Group chairs: what will be the quality of the paper if we issue an FCD document at the end of this meeting?

Adamczyk replied that, even concepts were taken off the table, there are several substantial language features that are still in the pipeline, and that he "would be very uncomfortable with voting something out this meeting."

Hinnant reminded Sutter that, at the present, there are dangling references in the WD, and that he hoped that these will be resolved at the present meeting, but there is no guarantee that will happen.

Vollmann asked how much time will spent at this meeting by the Core Working Group on concepts, if any work is done at all? Adamczyk explained that concepts is in good shape, but it's also an extremely large proposal, at 87 pages. It's not clear that the CWG can review the proposal at the same level of detail that they review other things. For example, the proposal has not been subject to the same line-by-line detail that other items routinely are. Adamczyk indicated that he "would be nervous about voting it in, but in terms of substance, it is correct."

Vollmann restated his question: "how much time do you need?" Adamczyk responded by observing that "that depends on how much assurance you need that it is correct."

Spicer observed that the committee shouldn't take for granted that it can delay the introduction of concepts to some indefinite point in the future; the people that we have available to work on the item now may not be available later.

Gregor stated his opinion that there may be bugs in the specification of concepts that will not be discovered until a second implementation is attempted. The line-by-line review may not be as effective.

When asked to elaborate on BSI's position that the standard must include a conceptualized library if it includes concepts as a core language feature, Glassborow explained that, if the committee puts concepts into the core langage and not the library, they will largely be ignored, and the discovery of defects in the specification will be further delayed. Also, if the standard library is not conceptualized, it will be difficult for users to exercise the feature.

Dos Reis agreed with BSI's position on this: "my perspective is that concepts in the language without library counterparts is not viable."

Meredith expressed concern that compile times will suffer drastically with concepts.

Stroustrup opined that shipping concepts without the library is useless; it will not help users to think in terms of concepts, and users will think that concepts are "not good enough." Futher, Stroustrup expressed doubts that a two-year slip would help: "with two more years, we will get proposals for new features, new libraries, and enhancements to concepts. Much of the two-year period will inevitably be devoted to items other than concepts." Stroustrup noted, though, that the BSI position is not unreasonable, and it was to be expected that someone would express it.

Discussion ensued.

Motion. Move that we discontinue work on concepts for C++0X.

Mover: Plauger
Seconder: Glassborow
WG favor oppose abstain
PL22.16 5 lots 4
WG21 1 5 1

Sutter ruled that work would continue on concepts.

Plum observed "now that we know that concepts are in the mix of work for this week, we don't need to talk about our publication schedule."

Plauger noted that "we must know by the end of this meeting that we either commit or not commit to shipping an FCD at the next meeting."

1.9 Liaison reports

WG14 Liaison

Plauger reported that the Special Math IS for C is going to final ballot and that the C++ committee should take corresponding actions. As well, Plauger reported that the C committee agreed to publish a threading model based on the C++ model.

Nelson reported on an issue that was raised by WG14 with respect to the threading model. In the current model, given a struct with two chars beside each other, two different threads can access these chars separately without causing a data race. There is concern that this inhibits certain optimizations, including the combining of stores. There was at least some discussion of allowing the programmer to control the granularity of memory location through the use of a pragma or something similar.

Kosnick asked whether there was any interest in standardizing the atomics. Nelson answered that the memory model and atomics were presented to WG14 in one paper. There was no controversy concerning the atomics.

POSIX Liaison

Stoughton reported that the group will be meeting next week in Redding. The goal of the meeting is to prepare a document outline. There was no liaison statement to make at this meeting because the group had not met since the last C++ meeting.

Other Working Group: Vulnerabilities (OWGV) Liaison

Plum reported that, at the next SC22 plenary, this group may become a regular WG. Plum also reported that OWGV is making good progress, and that an editing meeting will be conducted in "a month or so" to refine the draft document.

1.10 Editor's report and WP approval

Becker reported that document 08-0098 = WG21/N2588 has all of the edits that were approved at Bellevue. A later revision, PL22.16/08-0116 = WG21/N2606 differs from N2588 only in that it contains some editorial changes.

Meredith noted that this document contains dangling references, as expected.

Motion to accept the working paper

Mover: Paterno
Seconder: Widman
Approved by unanimous consent.

1.11 New business requiring actions by the committee

2. Organize subgroups, establish working procedures.

We have three subgroups: Core, Library, and Evolution. There will be a subgroup of Evolution to deal with issues relating to concurrency.

The committee broke into subgroups at 10:30 (GMT+10).

3. WG sessions (Core, Library, Performance, Evolution).

4. WG sessions continue.

5. WG sessions continue.

6. WG sessions continue.

7. General session.

7.1 WG status and progress reports.

Adamczyk gave the following report on the proposals that the Core Working Group intends to move on Saturday:

1) N2659, "Thread-Local Storage". Adds the thread_local keyword.

2) N2656, "Core issue 654 wording" adds conversions from 0 to nullptr_t (requested by library), also reinterpret_cast from nullptr_t to integer (for templates) and implicit conversion from nullptr_t convertible to bool.

On the latter, we feel nullptr_t should be the same as pointers, and pointers are currently convertible to bool everywhere, e.g.,

int *p = 0; bool b = p; bool c = nullptr; // ??

We're moving this forward in that form, and there may be a paper next time to restrict the conversion for both types if that doesn't seem to break existing code.

Note that the wording for this was not in the pre-meeting mailing.

3) N2657, "Local and Unnamed Types as Template Arguments". The difference from the previous version is that local and unnamed types are not given external linkage -- they're just allowed as template arguments. Note also that unnamed types are allowed; there was some question about that last time.

4) N2658, "Constness of Lambda Functions (Revision 1)". Slight change from pre-meeting version: generated function is const by default, adding mutable makes it non-const.

5) N2634, "Solving the SFINAE problem for expressions". As proposed a few meetings back: All expression and type errors in template deduction cause deduction failure, not hard errors.

6) N2664, "C++ Data-Dependency Ordering: Atomics and Memory Model". Definition of terms "carries a dependency", "is dependency-ordered before", "inter-thread happens before". Library memory_order_consume, kill_dependency. Library changes approved by concurrency group.

7) N2660, "Dynamic Initialization and Destruction with Concurrency".

8) N2672, "Initializer List proposed wording". This is a compromise proposal that all the interested parties have endorsed. Concerns about explicit constructors and conversions to unexpected third-party types are resolved, at least enough to win everyone's approval. Narrowing checking is still in there. Includes library changes, believed to have been checked by LWG.

9) N2670, "Minimal Support for Garbage Collection and Reachability-Based Leak Detection (revised)". Reachability of pointers, library functions declare_reachable, undeclare_reachable.

10) All "ready" issues in N2608, the most recent core issues list.

As well, Adamczyk gave updated status on items that will not be the subject of a motion at this meeting:

1) D2628, "Non-static data member initializers". Largely ready, but wording interacts extensively with the initializer lists proposal, so the paper will be updated for the pre-SF mailing and should be ready to be voted in at that point.

2) D2663, "Towards support for attributes in C++ (Revision 5)". We made a number of changes, and will review an updated paper next time.

3) N2378, "User-defined Literals (aka. Extensible Literals (revision 3))". We requested some minor updates. There was discussion of allowing/requiring implementations to evaluate constant-creation code just once; that's still being studied. If there's no change in that area, this should be in good shape for next time.

4) N2617, "Proposed Wording for Concepts (Revision 6)". Still some substantial changes (already addressed in updated wording). More wording review is needed.

5) Not looked at this time, still in the queue:

On the topic of concepts, Widman reported that he would be surprised if the committee encountered anything that required a significant design change. While noting that he was not proposing that they be voted into the Working Draft at this meeting, he asserted that "concepts are in better shape than you think."

Dos Reis disagreed with this point of view, indicating that some design issues remain.

Spicer opined that more review is necessary before the committee can decide that concepts are close to being done.

Gregor reported that, while there are design points that could be revisited, the specification of the procedure by which concepts are translated is now coherent; no parts of it depend on "magic."

Library Working Group

Hinnant reviewed the LWG formal motions (see below).

Marcus reported that the LWG had reviewed three papers about concepts in the C++ Standard Library, covering:

Plum asked as to the status of proposals for date and time library facilities. Hinnant replied that paper N2615 in the pre-meeting mailing has been revised and is being put forward as N2661.

Future meetings:

Sutter proposed the following revised timetable for publication of the standard. According to this timetable, a Committee Draft will be issued for ballot in September 2008, and a Final Committee Draft will be issued for ballot in October 2009.

Date Location Activity
June 2008 Sofia Antipolis complete features
Sept 2008 San Francisco complete features
ship CD
4 months (3 months for ballot + 1 month for buffer)
Mar(?) 2009 TBD complete features
resolve comments
Jul(?) 2009 Frankfurt complete features
resolve comments
Oct(?) 2009 TBD resolve comments
ship FCD
5 months (4 ballot + 1 buffer)
2010-A TBD resolve comments
2010-B TBD resolve comments
2010-C TBD resolve comments
ship FDIS
>= 6 months (2 ballot + >=4 publication)

Crowl asked whether there is an enforced time delay between shipping a CD and shipping an FCD. Sutter explained that there is none, except that CD ballot comments must be resolved, and that will take two meetings.

Glassborow indicated that BSI would be much happier with this schedule, and expressed hope that once the CD is shipped, implementors will provide the new language features early enough that the committee can benefit by the availability of those implementations to improve the quality of the standard.

Spicer asked how long it takes for ISO to issue a Working Draft for ballot. Sutter replied that, based on past experience, it takes "a small number of days."

Meredith disagreed with Glassborow's interpretation of the BSI position and reported two specific concerns that had been expressed among the UK panel. First, the UK wanted greater assurance that concepts would not imply unacceptable performance penalties. Second, there was concern that the committee was already approaching burnout due to the aggressive schedule.

Reponding to Meredith's first point, Sutter noted that the committee was at this time being asked only to commit to issuing a CD after the next meeting. Thoughthere is a tentative plan to issue an FCD twelve months later, that is a decision that can be made in the future.

Meredith asserted that the committee will need more than twelve months after issuing the CD to complete a document that is suitable for FCD ballot.

Observing that this issue will most impact the incoming convenor, Dawes requested that P. J. Plauger comment on it. Plauger replied that the decision to issue a CD at the next meeting is "...the most planning that we can do right now."

Maurer, noting that he thinks that the plan is viable, asked whether there was any possibility of allowing the NBs more time to submit comments on the CD. Sutter confirmed that there was, but that it was unnecessary to do so. He explained that the ISO directives allow the ballot period to be extended, but that they shall not exceed six months total. However, since the proposed plan is to give NBs two chances to comment, the need for extended ballot periods is greatly mitigated.

Stroustrup commented on the necessity of maintaining the pace of progress, and expressed a concern that a long schedule skip without planned intermediate steps would slow that pace.

Witt suggested that the only way to maintain the committee's focus is to have a tight schedule, and Stroustrup agreed.

Plum, addressing Maurer's earlier question about the lengths of the ballot periods, advised the committee to be very consistent about using the minimum time for NB comments, noting that NBs have every opportunity to participate directly in the standardization effort.

Glassborow agreed, adding that the Working Draft has been continuously available to the rest of the world throughout this process. He also reported that BSI will vote no to the introduction of any new feature from now until completion.

Meredith asked for an explanation of the phrase "feature complete" on Sutter's slide.

Sutter indicated that he hopes that, as a minimum, the CD would specify concepts in the core language and that the library would include foundation concepts, conceptualized algorithms, and conceptualized iterators.

Stroustrup indicated that he would like to see a conceptualized library in the CD.

Observing that there are some minor cases in the library (eg the use of enable_if in two places in the diagnostics library), in which existing entities should eventually be replaced by the use of concepts. Dawes asked Stroustrup whether he expected that such cases be addressed prior to shipping the CD. Stroustrup replied that he did not, arguing that details and corner cases are less important than emphasizing that the committee is serious enough about concepts to use them in major ways.

Meredith argued that the committee has to get the library specifications of concepts 100% right before FDIS because of the backwards-compatibility implications of changing them. For this reason, he indicated that he would be more confident about conceptualizing the library after CD.

Sutter expressed hope that a CD that contains a library that is at least partially conceptualized would encourage library implementors to provide such a library so that the community can gain experience with concepts, thereby enhancing the eventual quality of the standard.

Dos Reis suggested that it will take many years to get the library 100% right. He encouraged the committee to take a chance, because it is unreasonable to require 100% correctness before shipping.

Discussion ensued.

Gregor disagreed with the foregoing characterization of the risks to library, arguing that errors in template constraints can be fixed through Defect Reports.

Discussion ensued.

Nelson challenged the assumption that the publication of a core language or library feature in a CD, will hasten the arrival of an implementation of that feature. Implementors consider many factors when they decide when to implement a given feature.

Sutter invited implementors to comment on whether appearance in a CD expedites implementation.

Adamczyk reported whether the feature is in a CD is "irrelevant to [EDG]." Caves indicated it is similarly irrelevant to Microsoft.

Plauger commented that each of the vendors that Dinkumare, Ltd. has been talking to has a different shopping list for what features they want. A CD may help stablize dialects by influencing the order in which features are implemented.

Clamage indicated that he is a lot more comfortable setting a schedule for development when a draft is feature complete.

Dos Reis reported that, for this round of GCC, a decision has been made to accept patches if they were accepted in the current draft. "We are not going to accept patches in the current version if they are not in the working paper."

Meredith reported that Borland do their scheduling based on the perceived cost of implementation of a feature.

Sebor reported that Rogue Wave begins to exploit a core language feature in their library once they have a stable compiler that supports it.

Discussion ensued

Straw Poll: In favor of shipping a CD with concepts in the core language and the library at the end of the September 2008 meeting in San Francisco?

WG favor oppose abstain
PL22.16 lots 3 0
WG21 7 0 0

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

Core Working Group

Motion 1. Move WG21/N2659 "Thread-Local Storage" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 2. Move WG21/N2656 "Core issue 654 wording" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 3. Move WG21/N2657 "Local and Unnamed Types as Template Arguments" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 0 1
WG21 7 0 0

Motion 4. Move WG21/N2658 "Constness of Lambda Functions (Revision 1)" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 0 2
WG21 7 0 0

Motion 5. Move WG21/N2658 "Solving the SFINAE problem for expressions" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 1 0
WG21 7 0 0

Motion 6. Move WG21/N2664 "C++ Data-Dependency Ordering: Atomics and Memory Model" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 7. Move WG21/N2672 "Initializer List proposed wording" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 8. Move WG21/N2670 "Minimal Support for Garbage Collection and Reachability-Based Leak Detection (revised)" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 0 5
WG21 6 0 1

Motion 9. Move WG21/N2660 "Dynamic Initialization and Destruction with Concurrency" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 1
WG21 6 0 1

Motion 10. Move we apply the resolutions of all issues marked "ready" from N2608 to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Library Working Group

Motion 1. Move we apply the resolutions to the following issues from N2612 to the C++0X Working Paper:

387, 518, 550, 574, 595, 596, 612, 618, 629, 638, 672, 673, 685, 710, 715, 722, 740, 743, 744, 746, 749, 755, 759, 761, 766, 768, 770, 775, 777, 778, 781, 782, 783, 789, 792, 798

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 2. Move: The committee requests the LWG defer discussion of new proposals that would add features to the C++0x standard library until after the C++0x ships..

Crowl expressed his opposition to this motion, arguing that it is unclear what is meant by 'new proposal,' and that Internal discipline should be sufficient.

Dawes explained that this motion is meant to save LWG some time, so that the LWG subgroup chair does not feel obliged to devote agenda time to new proposals just so that the group can discuss their technical merits before deeming them to have arrived too late.

Discussion ensued.

WG favor oppose abstain
PL22.16 lots 2 2
WG21 5 0 2

Motion 3. Move we apply N2514 "Implicit Conversion Operators for Atomics" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 5 0 2

Motion 4. Move we apply N2667 "Reserved namespaces for POSIX" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 1 3
WG21 7 0 0

Motion 5. Move we apply N2668 "Concurrency Modifications to Basic String" to the C++0X Working Paper.

Both HP and Rogue Wave expressed strong opposition to this motion, on the basis that it may force vendors to break ABI compatibility.

Discussion ensued.

Dawes noted that great effort was made to accomodate the concerns of those vendors who were opposed to the motion, but that no technical solution was found that allowed all vendors to preserve ABI compatibility.

More discussion ensued.

WG favor oppose abstain
PL22.16 10 7 10
WG21 5 1 1

Sutter asked whether the NBs agreed to the withdrawal of this motion from formal votes. Dos Reis answered that withdrawal would be fine, as long there was assurance that the committee could vote on this issue in the future.

There was agreement that this proposal would not be moved during Friday's session.

Rao, while noting HP's objection to the proposal, declared that "I believe that the LWG concurrency group did the best they could [to accomodate HP's concerns]."

Motion 6. Move we apply N2678 "Error Handling Specification for Chapter 30 (Threads) (Revision 1)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 0 1
WG21 7 0 0

Motion 7. Move we apply N2661 "A Foundation to Sleep On" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 1 2
WG21 7 0 0

Motion 8. Move we apply N2675 "noncopyable utility class (revision 1)" to the C++0X Working Paper.

Stroustrup drew the committee's attention attention to Halpern's comments in reflector message c++lwg-xxxxxx and asked if that point had been raised in LWG. Hinnant replied that it had not.

Discussion ensued.

Plum argued that, by marking a base class noncopyable, a programmer is allowing a static code analyzer to detect violations.

Witt observed that the Boost noncopyable class has been popular.

Discussion ensued.

Dos Reis asked whether the use of a noncopyable utility class imposes a space penalty, and Hinnant answered that it does.

Discussion ensued.

Because of the controversy, Meredith withdrew the paper.

Motion 9. Move we apply N2674 "Shared_ptr atomic access, revision 1" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 lots 1
WG21 5 1 0

Motion 10. Move we apply N2666 "More STL algorithms (revision 2)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 11. Move we apply N2669 "Thread-Safety in the Standard Library (Rev 2)" to the C++0X Working Paper.

Dawes announced that the LWG knows that there will be valid objections with the wording in this paper. Problems with the wording will be addressed as issues.

Sebor argued that there are some requirements imposed on the implementation that will be difficult to satisfy performantly.

WG favor oppose abstain
PL22.16 13 5 7
WG21 6 1 0

Motion 12. Move we apply N2435 "Explicit bool for Smart Pointers" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 13. Move we apply N2677 "Foundational Concepts" to the C++0X Working Paper.

Hinnant noted that this paper uses a core language feature that has not yet been voted into the paper.

Glassborow stated that, as a matter of principle, the committee should not introduce dangling pointers to the Working Draft.

Discussion ensued.

The motion was withdrawn.

Motion 14. Move we apply N2679 "Initializer List for Standard Containers (Revision 1)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 15. Move we apply N2680 "Proposed Wording for Placement Insert (Revision 1)" to the C++0X Working Paper.

Hinnant reported that this paper had a solution for pair<> that the LWG knows is not mature, so the current revision does not apply placement insert to pair.

WG favor oppose abstain
PL22.16 lots 0 1
WG21 7 0 0

8. WG sessions continue

9. WG sessions continue

10. Review of the meeting

Clamage observed that, according to Robert's Rules, motions need not be moved and seconded, because they have been forwarded to the group by a subcommittee.

10.1 Formal motions, including DRs to be resolved.

Core Working Group

Motion 1. Move WG21/N2659 "Thread-Local Storage" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 2. Move WG21/N2656 "Core issue 654 wording" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 3. Move WG21/N2657 "Local and Unnamed Types as Template Arguments" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent 0 0
WG21 7 0 0

Motion 4. Move WG21/N2658 "Constness of Lambda Functions (Revision 1)" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent 0 0
WG21 7 0 0

Motion 5. Move WG21/N2658 "Solving the SFINAE problem for expressions" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 23 0 1
WG21 7 0 0

Motion 6. Move WG21/N2664 "C++ Data-Dependency Ordering: Atomics and Memory Model" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 7. Move WG21/N2672 "Initializer List proposed wording" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 23 0 1
WG21 7 0 0

Motion 8. Move WG21/N2670 "Minimal Support for Garbage Collection and Reachability-Based Leak Detection (revised)" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 22 0 2
WG21 7 0 0

Motion 9. Move WG21/N2660 "Dynamic Initialization and Destruction with Concurrency" into the C++0X Working Paper.

WG favor oppose abstain
PL22.16 23 0 1
WG21 6 0 1

Motion 10. Move we apply the resolutions of all issues marked "ready" from N2608 to the C++0X Working Paper, i.e. issues numbered 28, 118, 141, 276, 288, 485, 644, 661, 663, 666.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Library Working Group

Motion 1. Move we apply the resolutions to the following issues from N2612 to the C++0X Working Paper:

387, 518, 550, 574, 595, 596, 612, 618, 629, 638, 672, 673, 685, 710, 715, 722, 740, 743, 744, 746, 749, 755, 759, 761, 766, 768, 770, 775, 777, 778, 781, 782, 783, 789, 792, 798

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 2.

Move: The committee requests the LWG defer discussion of new proposals that would add features to the C++0x standard library until after the C++0x ships.

WG favor oppose abstain
PL22.16 20 2 2
WG21 6 0 1

Motion 3. Move we apply N2514 "Implicit Conversion Operators for Atomics" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 6 0 1

Motion 4. Move we apply N2667 "Reserved namespaces for POSIX" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 22 1 1
WG21 7 0 0

Motion 5. Move we apply N2678 "Error Handling Specification for Chapter 30 (Threads) (Revision 1)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 6. Move we apply N2661 "A Foundation to Sleep On" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 22 1 1
WG21 7 0 0

Motion 7. Move we apply N2674 "Shared_ptr atomic access, revision 1" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 23 0 1
WG21 6 0 1

Motion 8. Move we apply N2666 "More STL algorithms (revision 2)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 9. Move we apply N2669 "Thread-Safety in the Standard Library (Rev 2)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 19 2 3
WG21 6 0 1

Motion 10. Move we apply N2435 "Explicit bool for Smart Pointers" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 11. Move we apply N2679 "Initializer List for Standard Containers (Revision 1)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent
WG21 7 0 0

Motion 12. Move we apply N2680 "Proposed Wording for Placement Insert (Revision 1)" to the C++0X Working Paper.

WG favor oppose abstain
PL22.16 unanimous consent 0 0
WG21 7 0 0

Meredith made the following announcement on behalf of LWG: from this point forward, the library group would like all papers to include full concept wording.

10.2 Future meetings:

See 11.1, below.

10.3 Issues delayed until Saturday

None.

11. Plans for the future

11.1 Next meeting

11.2 Mailings

Nelson reported the following mailing deadlines:

post-meeting mailing June 27, 2008
mid-term mailing July 25, 2008
pre-San Francisco mailing August 22, 2008

11.3 Following meetings

The following meetings are as follows:

  1. September 14-20, 2008 in the San Francisco Bay area -- this meeting will be co-located with WG14
  2. March 2009, location TBD
  3. July 2009, Frankfurt Germany
  4. October 2009, location TBD

Plum moved to thank the host. Applause.

Motion to adjourn

Mover: Hedquist
Seconder: Spicer

Unanimous consent.

Attendance

Company/Organization Representative Mon Tue Wed Thu Fri Sat
Adobe Systems Mat Marcus V V V V V V
Apple Computer Howard E. Hinnant V V V V V V
Bloomberg John Lakos V V V V V
CodeGear Alisdair Meredith V V V V V V
Dawes Beman G. Dawes V V V V V
Dinkumware P. J. Plauger V V V V V V
Dinkumware Tana Plauger A A A A A A
Edison Design Group J. Stephen Adamczyk V V V V V V
Edison Design Group Daveed Vandevoorde A A A A A A
Edison Design Group John H. Spicer A A A A A A
Edison Design Group Mike Herrick A A A A A A
Edison Design Group William M. Miller A A A A A A
Fermi Nat. Accelerator Lab Marc F. Paterno V V V V V V
Gimpel Software James Widman V V V V V V
Google Lawrence Crowl V V V V V V
Hewlett-Packard PremAnand Rao V V V V V V
Hewlett-Packard Hans Boehm A A A
IBM Robert Klarer V V V V V V
IBM Michael Wong A A A A A
IBM Paul McKenney A A A A A
IBM Raul Silvera A A A A A
Indiana University Doug Gregor V V V V V V
Intel Clark Nelson V V V V V V
Microsoft Jonathan Caves V V V V V V
Microsoft Herb Sutter A A A A A A
National ICT Australia Manfred Doudar V V V V V
Oracle Paolo Carlini V V V V V
Perennial Barry Hedquist V V V V V V
Plum Hall Thomas Plum V V V V V V
Plum Hall Francis W. Glassborow A A A A A A
Programming Research Dietmar Kühl A A A A A A
Red Hat Jason Merrill V V V V V V
Red Hat Benjamin Kosnik A A A A A A
Rogue Wave Software Martin Sebor V V V V V
Roundhouse Consulting Pete Becker V V V V V V
Sandia National Labs K. Noel Belcourt V V V V V
Sun Microsystems Stephen D. Clamage V V V V V V
Symantec Mike Spertus V V V V V V
Tele Atlas Alan Talbot V V V V V V
Texas A&M Jaakko Järvi A V V V V V
Texas A&M Bjarne Stroustrup V A A A A
USENIX Nick Stoughton V V V V V
Zephyr Associates Thomas Witt V V V V V V
Bruker Daltonics Daniel Krügler N N N N N N
HP Christophe de Dinechin N
ILOG Georges Schumacher N N N N N N
INRIA Sylvain Pion N N N N N N
Integrable Solutions Gabriel Dos Reis N N N N N N
Interactive Data Managed Solutions Jens Maurer N N N N N N
Knearer Winck Bruno N N N N
OCA Alain Miniussi N N N
TU Dresden Peter Gottschling N N N N N
University of Nice Jean-Paul Rigault N N N N N N
Vollmann Engineering Detlef Vollmann N N N N N N
Alberto Ganesh Barbati N N N N N N
Loïc Joly N N N N N N