ISO/IEC JTC1 SC22 WG21 N4558 - 2015-11-16

Jonathan Wakely, cxx@kayari.org

WG21 Meeting No. 62
October 19-24, 2015 – Kona, HI, USA

Chair: Clark Nelson

1. Opening activities (Monday 08:30)

1.1 Opening comments, welcome from host

Nelson called the meeting to order at 08:35 and handed over to Plum for the welcome from the host.

1.2 Meeting guidelines

Every participant is responsible for understanding and abiding by the INCITS Antitrust Guidelines and Patent Policy and the ISO Code of Conduct.

1.3 Membership, voting rights, and procedures for the meeting

The voting rights and PL22.16 procedures were reviewed.

1.4 Introductions

Seven ISO “P” members were represented, Canada, Finland, Netherlands, Spain, Switzerland, UK and US. One “O” member was represented, Slovenia.

1.5 Agenda review and approval

N4545 was unanimously approved as the agenda.

1.6 Editor’s reports, approval of working drafts

Document Editor’s report Prospective working draft
C++ Standard N4528 N4527
Library Fundamentals V2 TS N4530 N4529
Concepts TS N4554 N4553

The working drafts N4527, N4529, and N4553 were unanimously approved.

Tong queried whether N4554 and N4553 were in the mailing. Nelson explained that they are in LiveLink with the correct N numbers, but a WD was initially published as a P document in the mailing and then corrected.

1.7 Approval of the minutes of the previous meetings

Meeting Minutes
WG21 Lenexa [N4490][N4490]
PL22.16 Lenexa [N4491][N4491]
WG21 Concepts ballot resolution telecon N4548
WG21 pre-Kona administrative telecon N4556

Clow moves to accept the minutes, Spicer seconds.

Tong requests modifications to N4548. Orr responded that he took the minutes, and noted the corrections, but would not publish a revision until he knew of any other corrections to be made.

The minutes were unanimously approved.

2. Liaison reports, and WG21 study group reports (see pre-meeting WG21 telecon minutes)

See minutes of pre-meeting telecon, N4556

3. WG progress reports and work plans for the week (Core, Evolution, Library, Library Evolution)

Miller reported that Core would follow the usual procedure, prioritizing papers due for review, also processing issues between processing papers.

Voutilainen reported that Evolution had a full agenda, posted on the Evolution wiki. THe group would be focussing on the major featues for C++17.

Clow reported that library would follow the usual agenda, prioritizing issues and papers. Would be spending time on Networking and Ranges proposals. Expected a substantial list of issues to move to DRs at the end of the meeting, which could be found on the wiki prior to a paper being produced at the end of the week.

Yasskin reported that Library Evolution had about 60 papers and so probably wouldn’t get through them all. LEWG planned to use the same workshop format as in Lenexa.

Discussion of Plans for C++17

Sutter summarized the procedures and schedules for publishing IS and TS, and what can make the deadline for C++17..

Voutilainen didn’t want a discussion in plenary, but some guidance from the group on whether Concepts can realistically be included in C++17.

Sutter took a poll to determine how many people would be comfortable putting Concepts into some standard without using Concepts in the library. About 40 in favor, 10 against.

Perchik asked whether it could be conditionally-supported. Sutter said that is the kind of topic to be discussed in Evolution not plenary.

4. New business requiring action by the committee

No new business.

Sutter noted it was three years since the foundation of the C++ Foundation. The annual members' meeting was scheduled to take place on Friday, followed by the directors meeting.

5. Organize working groups and study groups, establish working procedures

Maurer took approximate numbers for the different groups and assigned rooms. Evening sessions were scheduled to begin at 19:30

6. WG and SG sessions

The WG and SG chairs must arrange for any proposals to be written up in the form of a motion, and made available by 2:30 Friday.

7. Review of the meeting (Friday 2:00)

The host was thanked.

WG and SG status and progress reports. Presentation and discussion of proposals to be considered for consensus adoption by full WG21.

SG5: Transactional memory

Wong reported that the TS has been published and is on the ISO site. The group is working on additional features, and expect to have a paper at the next meeting. They continue to meet. They are working on interactions with coroutines and other proposals.

Wong also reported that GCC has an implementation of the TS (except for the library parts).

SG6: Numerics

Crowl reported that the group reviewed three small papers and passed two on. They have completed and approved an outline for a TS: - Built-in types: update decimal float. Parametric type aliases. - Utilities: Overflow-detecting arithmetic, double-wide arithmetic. - Multi-precision arithmetic. - Bitwise operations. - Rounding and overflow: rounding modes, overflow modes, limiting, division, scaling. - Unbounded types: integers, bits, rational, probably floating-point - Bounded: signed/unsigned integers, fixed-point - Promotion: functions to promote to and demote from unbound types, and explicit conversions.

Orr asked if there was any sense of a timescale. Crowl said the plan is for anyone with a proposal to bring wording suitable for a draft TS at the next meeting.

SG7: Reflection

Carruth had little to report. The group did not meet but some discussions took place. Hope to have some new papers for Jacksonville or the following meeting.

Sutter asked whether anything is expected to come to EWG or whether still in the exploration phase. Carruth replied that there are papers working through core and library. They are also trying to make progress on a paper that was rejected by EWG.

SG10: Feature test

Nelson explained that SD-6 describes recommendations for feature-testing macros. It is updated on a yearly basis, tracking the standards. What is in SD-6 will never go into a standard, but Technical Specifications do specify their feature-test macros, because a TS is always optional. When the content of a TS moves into the standard the feature-test macro will move to SD-6 instead of the standard.

He requested again that proposal authors and working groups consider feature-test macros during review.

Carruth said that feature-test macros are not making much difference today, but the hope is that they will be useful in the future when using (what will then be) legacy compilers.

Yasskin said that LEWG looks for feature-test macros and requests authors to add them, but doesn’t always notice if they are missing. Dos Reis asks whether a proposal might be rejected without one. Van Eerd says the group might reject for any reason.

Nelson held a straw poll to determine the sense of the committee.

Should WG21 encourage, but not require, feature-test macros for proposals?

SF F N A SA
50 13 7 3 2

Van Eerd asked how that would be enforced and Nelson replied that it wouldn’t be.

Voutilainen apologised for not asking any authors to provide macros during the meeting.

SG12: Undefined and unspecified behavior

Dos Reis reported that SG12 met and went through some issues. They received direction from EWG to remove undefined behavior from the preprocessor (clauses 2 and 16). They also looked at a paper from the pre-meeting mailing regarding the lifetime of objects initialized by memcpy, and similar issues with deserialising objects from disk. Finally, he reported that the group looked at wording being discussed by Core for defining what an object is.

Giroux said that SG1 is concerned about trivially-copyable being used for synchronisation types. Dos Reis said that is not something SG12 looked at. Merrill reported that Core looked at it and are fixing it.

SG14: Games & low latency

Wong reported that a number of papers were reviewed, with comments being sent to the authors, and that there was an evening session on the kind of problems the sector faces. The group is continuing to hold telecons and will be meeting face-to-face at GDC, where Sony are providing a room.

Sutter asked how many people attended the session at CppCon. Wong said there were about 60 people present, which might grow to 75-100 at GDC.

Wong said that the study group name attracts interested people.
Sutter requested others to approach him if they know of other domains where this approach would help.

SG1: Concurrency

Boehm began by clarifying the status of the Technical Specifications, explaining that the Parallelism TS v1 is done. He reported that the group spent longer than expected doing ballot resolution for Concurrency TS v1. One piece of controversy related to compare_exchange for atomic_shared_pointer which uncovered a related issue in the compare_exchange in C++ IS. He explained that the Concurrency TS has latches and barriers, extensions for futures, and atomic_shared_pointer.

The group have started talking about v2 of both of those Technical Specifications and requested a new work item for Parallelism v2, to include the content of v1 and task blocks. Some other things are also expected, such as something on SIMD support. There are plans for Concurrency TS v2, but no new work item needed yet. There are hopes for Executors to be in that, but making little progress. Other things worked on include synchronic, and atomic views for accessing non-atomic objects atomically. The group would like counters and queues to make progress.

SG1 were also progressing some things directly to C++17, following strong SG1 consensus for adding Parallelism TS v1 to C++17, but that didn’t make it through the working groups yet.

There was discussion in SG1 about relying on thread-locals for numeric error modes. Also discussion of GPUs, resulting in a general feeling that WG21 should not be defining a subset of C++ for use on GPUs, but there might need to be some special rules for how it can be done efficiently.

Josuttis asked what will go into C++17. Boehm said there are a number of small items expected to go in, and people are hoping that some of Concurrency TS v1 will go in.

Evolution

Voutilainen reported that EWG got through almost all papers, approved modules to go into a TS, worked out some coroutine design issues, and looked at some Concepts design issues arising from NB comments on the TS. The group dealt with all major items on the schedule. They didn’t look at any EWG issues, but there are papers addressing some of them.

Voutilainen thanked Naumann and Sankel for success with variant.

EWG approved inline variables; exception specifications in the type system; feature-testing preprocessor predicates; Constexpr lambdas; unified call syntax. Discussion of expression evaluation order will resume in Jacksonville. Voutilainen reported that C++ will have a constexpr if.

Stroustrup stated that reaching consensus on unified call syntax was made possible by a session at CppCon to resolve disagreements.

Voutilainen noted that there were some rejected papers, the authors were encouraged to continue work.

Andrew Pardoe was thanked for taking notes for the majority of the EWG sessions, and James Dennett was thanked for covering the remainder of the sessions.

Josuttis queried the outcome of the discussion into what should go into C++17. Sutter said that individual features will be evaluated based on proposals. The major purpose of the discussion was to make people realise it was time to think about what can go in. A proposal is expected in Jacksonville to put Concepts in C++17.

Library Evolution

Yasskin reported that LEWG covered about 37 papers, rejected about 8, and forwarded 15 to library. The group started looking at some library issues in the LEWG issues list, but only prioritised them. They didn’t get time to cover 13 of the papers in the mailing, but covered the ones that were determined to be most important by the poll taken before the meeting.

Thanked Juan Alday and Thomas Koeppe for taking notes.

Core

Miller recapped the new procedures which mean that the full issues lists are no longer included in the mailing, to reduce the size of the mailing. Issues lists continue to be posted on the committee web-site and the committee version with drafting assignments gets attached to the meeting wiki.

Miller explained that Core motions to resolve issues go in a new P-numbered paper that contains only the issues being resolved, consisting of “Tentatively ready” issues that are a product of teleconferences between meetings and “Ready” issues produced by CWG deliverations at the preceding meeting. The documents with only the issues being resolved are sent out in the mailings.

Core spent some time during the meeting on issue processing, with 15 resolutions approved and in Ready status for Jacksonville, 26 in “Tentatively Reade” state, and with 59 new issues, half triaged so far.

Core also reviewed several proposals, approving removing the register keyword, removing increment for bool, and exception specifications in the type system.

Josuttis asked whether the exception specifications change will break any code. Maurer pointed to an example in Annex C in the proposal, P0012. Voutilainen claimed it has the potential to break fairly obscure code.

Yasskin raised a concern about the liberty implementations have to add noexcept to functions and whether that can break anything. Voutilainen asserted no. Crowl said it does present some portability problems, if you have a pointer to a noexcept function you can set it to point to a library function on one implementation and not another. Stroustrup confidently predicted problems with this. Carruth stated that this makes it easier for users to detect which library functions are noexcept, but that is already possible using SFINAE. Dos Reis pointed out the inconsistency between giving libraries permission to add noexcept but not to add constexpr, and said this creates problems for programmers. Meredith said the kind of code that has problems already has problems, that this specific paper does not create any new problems.

Spicer gave reassurance that only esoteric examples get problems and that the common cases behave the same as in C++11. It took Core a long time to come up with an example that wasn’t already invalid according to the standard anyway.

Miller continued, reporting that Core also approved __has_include, a name for NSDMI, reworded inheriting constructors (which will resolve 8 core issues), and removed defaults for unary folds.

Core were very close to approving aggregate initialization with base classes, only missing some wording for Annex C describing the change. They spent time reviewing the specification for coroutines, which needed some wording changes. They looked at wording for forward progress guarantees. They spent a good deal of time looking at issues of what objects are, what pointers are, getting close to a resolution but needing more work in Jacksonville. They looked at an enum extension for integer classes. They also looked at defining order of evaluation, and are working with EWG on that. Core planned to look at the Modules proposal on the Saturday and expect to have at least one teleconference looking at modules, tentatively scheduled for early December.

Sutter thanked Core for holding teleconferences between meetings to help authors with their proposals.

Halpern asked whether the fix for trivially-copyable is being moved today. Miller said that will be Ready in Jacksonville. Maurer said it is issue 1734.

Core Motions

Straw poll, CWG Motion 1, Move to accept as Defect Reports the issues in P0164 and apply their proposed resolutions to the C++ working paper.

CWG Motion 1 was approved by unanimous consent.

Straw poll, CWG Motion 2, Move to apply to the C++ working paper the proposed wording in P0001R1 (“Remove Deprecated Use of the register Keyword”).

  yes no abstain
WG21: 58 1 6

CWG Motion 2 was approved.

Straw poll, CWG Motion 3, Move to apply to the C++ working paper the proposed wording in P0002R1 (“Remove Deprecated operator++(bool)”).

Brown asked what was different between revisions 0 and 1. Meredith said there was an improvement to the Annex C entry and removal of a note that referred to the operation.

  yes no abstain
WG21: 58 2 5

CWG Motion 3 was approved.

Straw poll, CWG Motion 4, Move to apply to the C++ working paper the proposed wording in P0012R1 (“Make exception specifications be part of the type system, version 5”).

  yes no abstain
WG21: 40 5 16

CWG Motion 4 was approved.

Straw poll, CWG Motion 5, Move to apply to the C++ working paper the proposed wording in P0061R1 (“__has_include\ for C++17”).

  yes no abstain
WG21: 54 5 5

CWG Motion 5 was approved.

Straw poll, CWG Motion 6, Move to apply to the C++ working paper the proposed wording in P0134R0 (“Introducing a name for brace-or-equal-initializers for non-static data members”).

CWG Motion 6 was approved by unanimous consent.

Straw poll, CWG Motion 7, Move to apply to the C++ working paper the proposed wording in P0136R1 (“Rewording inheriting constructors (core issue 1941 et al)”).

CWG Motion 7 was approved by unanimous consent.

Straw poll, CWG Motion 8, Move to apply to the C++ working paper the proposed wording in P0160R0 (“Wording for removing defaults for unary folds”).

Voutilainen said this is a step in the wrong direction that makes unary folds inconvenient to use.

Stroustrup said this removes some poor defaults without offering a replacement.

  yes no abstain
WG21: 23 6 35

Sutter determined that there was strong opposition from National Bodies (FI and SP) and only weak support.

CWG Motion 8 was withdrawn.

Library

Clow reported that LWG looked at Ranges and Networking extensively. Also looked at some things not being brought forward at the meeting including variant and synchronous ostreams. Five or six papers were not reached in time. Clow thanked the LWG scribes.

Like Core, LWG did not include issues lists in the mailings. P0165 contains the library issues that were moved at the meeting.

Library Motions

Straw poll, LWG Motion 1, Move we apply the resolutions of the following issues in “Ready” status from P0165R0 to the C++ Working Paper.

LWG Motion 1 was approved by unanimous consent.

Straw poll, LWG Motion 2, Move we apply the resolutions of the following issues in “Tentatively Ready” status from P0165R0 to the C++ Working Paper:

Voutilainen noted that 2510 is a breaking change. Merrill said that Core reversed position on CWG 1518 and Wakely and Voutilainen stated that that resolves the problem making 2510 redundant. 2510 was dropped from the motion.

LWG Motion 2 was approved by unanimous consent.

Straw poll, LWG Motion 3, Move we apply to the C++ Working Paper the Proposed Wording from P0004R1, Remove Deprecated iostreams aliases.

LWG Motion 3 was approved by unanimous consent.

Straw poll, LWG Motion 4, Move we apply to the C++ Working Paper the Proposed Wording from P0006R0, Adopt Type Traits Variable Templates for C++17.

  yes no abstain
WG21: 44 0 19

LWG Motion 4 passed.

Straw poll, LWG Motion 5, Move we apply to the C++ Working Paper the Proposed Wording from P0092R1, Polishing <chrono>.

Carruth asked what the motivation was. Hinnant explained that these offer alternative rounding modes for durations. Carruth was concerned about tick-based programming relating to dates or timezones. Hinnant said there is no way to talk about timezones in the standard and this only applies to durations and time points.

Halpern stated that date rounding can already happen, so offering other modes doesn’t make this any worse.

Carruth said that given these facilities, most people will do the wrong thing.

  yes no abstain
WG21: 35 7 23

LWG Motion 5 passed.

Van Eerd asked whether given a future date library Carruth’s concerns would go. Carruth responded that it wouldn’t make the problem go away.

Straw poll, LWG Motion 6, Move we apply to the C++ Working Paper the Proposed Wording from P0007R1, Constant View: A proposal for a std::as_const helper function template.

Meredith explained that the revised proposal added a deleted overload to prevent unwanted lifetime extension of temporaries.

LWG Motion 6 was approved by unanimous consent.

Straw poll, LWG Motion 7, Move we apply to the C++ Working Paper the Proposed Wording from P0156R0, Variadic lock_guard(rev 3).

LWG Motion 7 was approved by unanimous consent.

Straw poll, LWG Motion 8, Move we apply to the C++ Working Paper the Proposed Wording from P0005R2, Adopt not_fn from Library Fundamentals 2 for C++17 and remove not1 & not2.

Van Eerd asks whether not1 and not2 are currently deprecated. They are not, but Meredith responds that the names remain reserved so that implementations can continue to provide them.

Vandevoorde asked whether not1 and not2 are dangerous. Lavavej said they are not dangerous, just not useful in generic code.

A comparison to bind1st and auto_ptr was made, pointing out that they were deprecated first. Meredith said code broken by this will probably be broken anyway by the removal of the typedefs for the result and argument types.

Carruth stated that we must not be paralysed by fear of change, even when that change might break code.

  yes no abstain
WG21: 35 8 23

Orr reported that the UK is against removal without deprecation.

LWG Motion 8 was withdrawn.

Straw poll, LWG Motion 9, Move we apply to the C++17 working paper the Proposed Wording from p0074r0, Making std::owner_less more flexible

LWG Motion 9 was approved by unanimous consent.

Straw poll, LWG Motion 10, Move we apply to the C++17 working paper the Proposed Wording from P0013R1, Logical type traits rev 2

Spicer announced that the document P0013R1 was updated during the session to fix a typo in the document number.

Wakely explained that the paper was revised to change the names and was originally proposed for the TS only.

  yes no abstain
WG21: 40 0 23

LWG Motion 10 passed.

Library Fundamentals TS Motions

Straw poll, LWG Motion 11, Move we apply the resolution of the following issue in “Ready” status from P0165R0 to the Library Fundamentals TS 2 Working Paper

LWG Motion 11 was approved by unanimous consent.

Straw poll, LWG Motion 12, Move we apply the resolution of the following issue in “Tentatively Ready” status from P0165R0 to the Library Fundamentals TS 2 Working Paper

LWG Motion 12 was approved by unanimous consent.

Straw poll, LWG Motion 13, Move we apply to the Library Fundamentals TS 2 Working Paper the Proposed Wording from n4531, std::rand replacement, revision 3.

It was clarified that this does not touch std:rand

LWG Motion 13 was approved by unanimous consent.

Straw poll, LWG Motion 14, Move we apply to the Library Fundamentals TS 2 Working Paper the Proposed Wording from P0013R1, Logical type traits rev 2

Spicer noted that the paper was renamed from P0013R2 to P0013R1

LWG Motion 14 was approved by unanimous consent.

Concurrency TS Motions

Straw poll, LWG Motion 15, Move we apply to the Concurrency TS Working Paper the Proposed Wording from P0159R0, Programming Languages — Technical Specification for C++ Extensions for Concurrency.

  yes no abstain
WG21: 37 0 23

LWG Motion 15 passed.

Straw poll, LWG Motion 16, Move to appoint an editing committee composed of Artur Laksberg, Hans Boehm, and Marshall Clow to approve the correctness of the Technical Specification for C++ Extensions for Concurrency working paper as modified by the motions approved at this meeting, and to direct the Convener to transmit the approved updated working paper for publication.

LWG Motion 16 was approved by unanimous consent.

Library Evolution Motions

Straw poll, LEWG Motion 1, Move to create a working paper for the Networking TS with P0112R1 “Networking Library” as its initial content.

Maurer asked why it was not being sent for PDTS. Clow said there had been some new design questions come up.

LEWG Motion 1 was approved by unanimous consent.

Straw poll, LEWG Motion 2, Move to direct the Convener to request a New Work Item for a Technical Specification on C++ Extensions for Ranges and create a working paper with P0021R0 “C++ Extensions for Ranges” as its initial content.

LEWG Motion 2 was approved by unanimous consent.

Straw poll, LEWG Motion 3, Move to direct the Convener to request a New Work Item for a Technical Specification for C++ Extensions for Parallelism Version 2 and create a working paper with N4505 “Working Draft, Technical Specification for C++ Extensions for Parallelism” as modified by the Proposed Wording from p0155r0, Task Block R5, as its initial content.

LEWG Motion 3 was approved by unanimous consent.

Straw poll, LEWG Motion 4, Move to direct the Convener to request a New Work Item for a Technical Specification on C++ Extensions for Library Fundamentals, Version 2 and create a working paper with N4529 as amended by the motions approved at this meeting as its initial content, and appoint an editing committee composed of Jeffrey Yasskin, Daniel Krügler, and Marshall Clow to approve the correctness of the working paper, and to direct the Convener to transmit the approved updated working paper for PDTS ballot.

LEWG Motion 4 was approved by unanimous consent.

8. WG and SG sessions continue (Saturday 8:00)

9. Closing activities (Saturday 13:00)

Nelson opened the session at 13:00.

9.1 Confirm WG21 consensus to adopt proposals (“consent agenda”, approved without discussion if no new information)

No new information was brought forward. The results of the polls taken on Friday were approved by consent.

10. Plans for the future (PL22.16)

10.1 Next and following meetings

2016-02-29/03-05 Jacksonville, FL/US (N4555)

2016-06-20/06-25 Oulu, Finland

Fall meeting in the US. Late February / early March meeting. Likely to be in the San Diego area and Oklahoma, in some order.

Tentatively Summer 2017 in England.

10.2 Mailings

Post-meeting mailing: Nov 6

Pre-meeting mailing: Feb 12

11. Adjournment

Brown moves to thank the host, officers, convener, SG chairs, the scribes, and the project editors.

Clow moves to adjourn, Stroustrup seconds. Unanimous.

12. Attendance

Official PL22.16 or WG21 status (“P”, “A”, “E”, “M”)

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.

PL22.16 members

Company / Organization NB Representative Mo Tu We Th Fr Sa WG21 PL22.16
AMD Ben Sander x x x x x x A V
Bloomberg John Lakos x x x x x x P V
Bloomberg UK Alisdair Meredith x x x x x x A
Bloomberg UK Dietmar Kühl x x x x x x A
Bloomberg Eric Fiselier x x x x x x
Bloomberg UK Mathias Gaunard x x x x x x A
Bloomberg Nathan Myers x x x x x x
Brown Walter E. Brown x x x x x x E
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 P V
Dinkumware P.J. Plauger x x x x x x P V
Dinkumware Tana Plauger x x x x x x A
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 Mike Herrick x x x x x x A
Edison Design Group William M. Miller x x x x x x A
Embarcadero Technologies Dawn Perchik x x x x x x P V
FlightSafety International Billy Baker x x x x x x P V
Google Chandler Carruth x x x x x x A V
Google Geoffrey Romer x x x x x x A
Google Hans Boehm x x x x x x A
Google James Dennett x x x x x x A
Google NL JC van Winkel x x x x x x
Google Jeffrey Yasskin x x x x x x A
Google CA JF Bastien x x x x x x A
Google UK Richard Smith x x x x x x A
Google Thomas Koeppe x x x x x x
Google Titus Winters x x x x x x A
Google Chris Mysen x x x x x x
GreenWireSoft Juan Alday x x x x x x P V
IBM CA Michael Wong x x x x x x P V
IBM Paul E. McKenney x x x x x x A
IBM CA Hubert Tong x x x x x x
Intel Clark Nelson x x x x x x P V
Intel Arch Robison x x x x x x A
Intel Pablo Halpern x x x x x x A
KCG Holdings Robert Douglas x x x x x x P V
Lawrence Livermore James Frederick Reus x x x x x x A V
Los Alamos National Laboratory Li-Ta Lo x x x x x x P
Microsoft Jonathan Caves x x x x x x P V
Microsoft Gabriel Dos Reis x x x x x x A
Microsoft Herb Sutter x x x x x x A
Microsoft Stephan T. Lavavej x x x x x x A
Microsoft Gor Nishanov x x x x x x
Microsoft Andrew Pardoe x x x x x x
Microsoft Neil Macintosh x x x x x x
Morgan Stanley Bjarne Stroustrup x x x x x x P V
NVidia Vinod Grover x x x x x x P V
NVidia Jared Hoberock x x x x x x A
NVidia Olivier Giroux x x x x x x A
Oracle Maxim Kartashev x x x x x x A V
Perennial Barry Hedquist x x x x x x P V
Perennial Lawrence Crowl x x x x x x A
Plum Hall Thomas Plum x x x x x x P V
Plum Hall FI Ville Voutilainen x x x x x x A
Programming Research Group Christof Meerwald x x x x x x A V
Qualcomm Marshall Clow x x x x x x P V
Red Hat Jason Merrill x x x x x x P V
Red Hat UK Jonathan Wakely x x x x x x A
Ripple Labs Howard E. Hinnant x x x x x x A V
Riverbed Technology Oleg Smolsky x x x x x x P V
Sandia National Labs Carter Edwards x x x x x x P V
Seymour Bill Seymour x x x x x x P A
Stellar Science David Sankel x x x x x x P V
Symantec Mike Spertus x x x x x x P V
University of Chicago Chanaka Liyanaarachchi x x x P V

Other WG21 members

Company / Organization NB Representative Mo Tu We Th Fr Sa WG21
Mozilla CA Botond Ballo x x x x x x M
Blackberry CA Tony Van Eerd x x x x x x M
Universitè de Sherbrooke CA Patrice Roy x x x x x x M
CERN CH Axel Naumann x x x x x x M
Vollmann Engineering CH Detlef Vollmann x x x x x x M
HSR CH Peter Sommerlad x x x x x x M
University Carlos III ES J. Daniel García x x x x x x M
CryptoTec FI Mikael Kilpeläinen x x x x x x M
JSI, Slovenia SI Matevz Tadel x x x x x x M
CH Mauro Bianco x x x x x x M
PDT Partners UK Jeff Snyder x x x x x x M
UK Christopher Kohlhoff x x x x x x M
UK Dinka Ranns x x x x x x M
UK Roger Orr x x x x x x M

Participating non-members

Company / Organization Representative Mo Tu We Th Fr Sa
LTK Engineering Alan Talbot x x x x x x
Sony Computer Entertainment Alex Rosenberg x x x x x x
University of Akron Andrew Sutton x x x x x x
Arash Partow x x x x x x
Arthur O'Dwyer x x x x x x
Berkeley Lab Bryce Lelbach x x x x x x
Coverity by Synopsys Charles-Henri Gros x x x x x x
Eric Niebler x x x x x x
Faisal Vali x x x x x x
Thomson Reuters James Touton x x x x x x
University of Nice Jean-Paul Rigault x x x x x x
John Kalb x x x x x x
Kirk Snyder x x x x x x
Xalnix Corp. Les Potter x x x x x x
Sony Michael Spencer x x x x x x
Nicolai Josuttis x x x x x x
Roundhouse Consulting Pete Becker x x x x
Sony Sunil Srivastava x x x x x x