WG21 2018-03 Jacksonville Minutes

ISO/IEC JTC1 SC22 WG21 N4732 — 2018-04-02

Patrice Roy, Patrice.Roy@USherbrooke.ca

March 12 - March 17, 2018 - Jacksonville, FL, USA

Chair: John Spicer

1. Opening activities (Monday 9:00)

1.1 Opening comments, welcome from host (PL22.16)

Spicer welcomes everyone. Hedquist greets attendees and thanks sponsors.

1.2 Meeting guidelines (PL22.16)

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

1.3 Membership, voting rights, and procedures for the meeting (PL22.16)

The chair requests that prospective PL22.16 members inform the chair (Spicer) or vice-chair (Finkel) that they are present.

Finkel explains the attendance sheet rules and requests people adding themselves print their names clearly.

Finkel explains new rules to manage the attribution of document numbers for papers.

1.4 Introductions

Representatives from the following countries:

Canada Finland Germany Spain Switzerland UK US

France has members but no NB representative

Poland has members but is here as an observer

1.5 Agenda review and approval (PL22.16 motion)

Agenda is in a revision of N4716, posted on the Wiki.

Dawes moved to adopt the agenda, Carruth seconded.

Approved by unanimous consent (for both WG21 and .16 polls).

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

1.6 Editor's reports, approval of working drafts

Document Editor's Report Prospective WD
C++20 Standard N4728 N4727
Coroutines TS N4724 N4723
Networking TS N4712 N4711
Parallelism v2 TS N4726 N4725

Approved by unanimous consent.

1.7 Approval of the minutes of the previous meetings (PL22.16 motion)

Meeting Minutes
WG21 Albuquerque N4709
PL22.16 Albuquerque N4710
WG21 Modules telecon N4729
WG21 pre-Jacksonville administrative telecon N4730

Carruth moved to accept the PL22.16 Albuquerque minutes, Clow seconded. Approved by unanimous consent.

WG21 minutes approved by unanimous consent.

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

Already summarized in the pre-meeting minutes

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

Already summarized in the pre-meeting minutes

4. New business requiring action by the committee

Miller states that issues, tentatively ready or not, have not been presented in paper form as usual due to an important number of pre-meeting teleconferences, particularly for modules. D0968 contains the list of tentatively ready issues and is attached to the Core Wiki.

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

(Clarify rooms available for evening sessions)

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 8:00 PM Friday.

7. Review of the meeting (Saturday 8:30 AM)

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

Spicer invites SG chairs to make their reports

SG5: Transactional memory (Wong)

SG6: Numerics (Crowl)

SG7: Compile-Time Programming (Carruth)

SG10: Feature test (Nelson)

SG12: Undefined and unspecified behavior (Dos Reis)

SG14: Games & low latency (Wong)

SG15: Tooling (Winters)

SG1: Concurrency (Giroux)

Evolution (Voutilainen)

Library Evolution (Winters)

Core (Miller)

CWG Motions

Motion 1

Move to accept as Defect Reports all issues except 2237 in P0968R0 (Core Language Working Group "tentatively ready" Issues for the March, 2018 (Jacksonville) meeting) and apply all the proposed resolutions (including the one for 2237) to the C++ working paper.

Approved by unanimous consent

Motion 2

Move to apply the changes in P0840R2 (Language support for empty objects) to the C++ working paper.

Approved by unanimous consent

Motion 3

Move to accept as a Defect Report and apply the changes in P0962R1 (Relaxing the range-for loop customization point finding rules) to the C++ working paper.

Approved by unanimous consent

Motion 4

Move to accept as a Defect Report and apply the changes in P0969R0 (Allow structured bindings to accessible members) to the C++ working paper.

Approved by unanimous consent

Motion 5

Move to accept as a Defect Report and apply the changes in P0961R1 (Relaxing the structured bindings customization point finding rules) to the C++ working paper.

Approved by unanimous consent

Motion 6

Move to apply the changes in P0634R3 (Down with typename!) to the C++ working paper.

Concerns were raised due to possible evolutionary exploration

Objection to unanimous consent

Favor Opposed Abstain
31 6 14

Motion passed.

Motion 7

Move to apply the changes in P0780R2 (Allow pack expansion in lambda init-capture) to the C++ working paper.

Approved by unanimous consent

Motion 8

Move to apply the changes in P0479R5 (Proposed wording for likely and unlikely attributes (Revision 5)) to the C++ working paper.

Approved by unanimous consent

Motion 9

Move to apply the changes in P0905R1 (Symmetry for spaceship) to the C++ working paper.

Adam: I raised a technical objection in EWG and want this noted

Objection to unanimous consent

Favor Opposed Abstain
34 2 17

Motion passed.

Motion 10

Move to apply the changes in P0914R1 (Add parameter preview to coroutine promise constructor) to the Coroutines TS working paper.

Approved by unanimous consent

Motion 11

Move to apply the changes in P0911R1 (Rebase the Coroutines TS onto the C++17 Standard) to the Coroutines TS working paper.

Approved by unanimous consent

Library (Clow)

LWG motions

Parallelism 2 TS

Motion 1

Move to apply to the Parallelism 2 TS working paper the proposed wording in P0214R9 (Data-Parallel Vector Types & Operations).

Approved by unanimous consent

Motion 2

Move that we appoint an editing committee of Adlestein Lelbach, Matthias Kretz, Alisdair Meredith, and Marshall Clow, to approve the correctness of the Parallelism 2 TS working draft as modified by the motions approved at this meeting, and to direct the Convener to transmit the approved updated working draft for PTDS.

Approved by unanimous consent

Reflection TS

Motion 3

Move to direct the Convener to request a New Work Item for a Technical Specification on "C++ Extensions for Reflection" and create a working draft with [ P0194R6 "Static reflection" ] as its initial content

Approved by unanimous consent

Coroutines TS

Motion 4

Move to apply to the Coroutines TS working paper the proposed wording in P0913R1 (Add symmetric coroutine control transfer).

Approved by unanimous consent

Networking TS

Motion 5

Move to apply to the Networking TS working paper the proposed resolutions of issues 3002, 3010 and 3020 in P0888R0 (C++ Standard Library Issues to be moved in Jacksonville).

Approved by unanimous consent

Library Fundamentals TS

Motion 6

Move to direct the Convener to request a New Work Item for a Technical Specification on "C++ Extensions for Library Fundamentals, Version 3" and create a working draft with P0996R1 modifying Library Fundamentals Version 2 N4600

Approved by unanimous consent

Issues

Motion 7

Move to apply to the C++ working paper the proposed resolutions of all of the issues except 3002, 3010 and 3020 in P0888R0 (C++ Standard Library Issues to be moved in Jacksonville).

Approved by unanimous consent

Motion 8

Move to apply to the C++ working paper the proposed wording in P1003R0 (C++ Standard Library Issues Resolved Directly In Jacksonville).

Approved by unanimous consent

Working Draft

Motion 9

Move to apply to the C++ working paper the proposed wording in P0754R2 ().

Concerns were raised due to the lack of information as to which symbols will be obtained from the header

Favor Opposed Abstain
45 2 5

Motion passed.

Motion 10

Move to apply to the C++ working paper the proposed wording in P0809R0 (Comparing Unordered Containers). This resolves LWG#2831

Approved by unanimous consent

Motion 11

Move to apply to the C++ working paper the proposed wording in P0355R7 (Extending chrono to Calendars and Time Zones)

Approved by unanimous consent (applause!)

Motion 12

Move to apply to the C++ working paper the proposed wording in P0966R1 (string::reserve Should Not Shrink).

Approved by unanimous consent

Motion 13

Move to apply to the C++ working paper the proposed wording in P0551R3 (Thou Shalt Not Specialize std Function Templates!).

Concerns were raised with respect to potential breakage of existing code

Favor Opposed Abstain
39 2 13

Motion passed.

Motion 14

Move to apply to the C++ working paper the proposed wording in P0753R2 (Manipulators for C++ Synchronized Buffered Ostream).

Approved by unanimous consent

Motion 15

Move to apply to the C++ working paper the proposed wording in P0122R7 ().

Concerns were raised with respect to the introduction of a new type without LEWG review

Objection to unanimous consent

Favor Opposed Abstain
36 1 18

Motion passed.

Motion 16

Move to apply to the C++ working paper the proposed wording in P0858R0 (Constexpr iterator requirements).

Approved by unanimous consent

8. Closing activities (Saturday 10:53 AM)

8.1 PL22.16 motions, if any

None.

8.2 Issues delayed until today

None.

9. Plans for the future (PL22.16)

9.1 Next and following meetings

Retirement of Beman Dawes leads to standing ovation

9.2 Mailings

Deadline for papers is 14:00 UTC.

Brown: I want to move to thank the host >applause<.

Hedquist: I want to thank Jens Maurer for his logistics support, as well as the C++ Foundation

Brown: I would also like us to thank the following :

10. Adjournment (PL22.16 motion)

Adam Martin moved to adjourn. Marshal Clow seconded.

Plenary concludes at 12:01 PM

11. 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", and advisory membership by "A".

PL22.16 members

Company / Organization NB Representative WG21 PL22.16
AMD Siu Chi Chan A
AMD Tony Tye A
AMD Alexandru Voicu A
Amazon Louis Dionne P V
Amazon John McFarlane A
Apple Alex Christensen A
Apple Bruno Lopes A
Apple Tim Northover A
Argonne National Lab Hal Finkel P V
Bloomberg John Lakos P V
Bloomberg UK Dietmar Kühl A
Bloomberg UK Alisdair Meredith A
Bloomberg David Sankel A
Bloomberg Frank Birbacher
Bloomberg Jeffrey Mendeksohn
Bloomberg Vittorio Romeo
Bloomberg Georg Rudoy
Brown Walter E. Brown E
Cisco Systems Lars Gullik Bjønnes P V
Dinkumware Ltd P.J. Plauger P V
Dinkumware Ltd Tana Plauger A
EPAM Systems Inc Mateusz Pusz P V
Edison Design Group John Spicer P V
Edison Design Group Daveed Vandevoorde A
Edison Design Group Jens Maurer A
Edison Design Group William M. Miller A
Facebook Lee Howes A V
Facebook Maged Michael A
Facebook Eric Niebler A
Facebook David Goldblatt
Facebook Nathan Sidwell
Facebook Victor Zverovich
FlightSafety International Billy Baker P V
Google Chandler Carruth P V
Google Hans Boehm A
Google James Dennett A
Google Geoffrey Romer A
Google UK Richard Smith A
Google Titus Winters A
Google Ashley Hedberg
Google Andrew Hunter
Google Chris Kennelly
Google Thomas Koeppe
Google Chris Mysen
Google Tim Shen
GrammaTech Inc, Aaron Ballman P V
GreenWireSoft Juan Alday P V
IBM Paul E. McKenney P V
Intel Clark Nelson P V
Intel Pablo Halpern A
Intel Erich Keane A
Intel Axel Wells A
LTK Engineering Alan Talbot P V
Linden Research, Inc. Nat Goodspeed P V
Los Alamos National Laboratory S. Davis Herring A
Microsoft Jonathan Caves P V
Microsoft Casey Carter A
Microsoft Stephan Lavavej A
Microsoft Gor Nishanov A
Microsoft Andrew Pardoe A
Microsoft Gabriel Dos Reis A
Microsoft Herb Sutter A
MongoDB Adam Martin P V
MongoDB Jason Carey A
Morgan Stanley Bjarne Stroustrup P V
NVidia Bryce Adelstein-Lelbach
NVidia Michael Garland A
NVidia Olivier Giroux A
NVidia Jared Hoberock A
Oak Ridge National Laboratory Graham Lopez A
Ocient Nevin Liber P V
Oracle Paolo Carlini P V
Perennial Barry Hedquist P V
Perennial Lawrence Crowl A
Perennial Beman G. Dawes A
Plum Hall Thomas Plum P V
Programming Research Group Christof Meerwald A
Qualcomm Marshall Clow P V
Red Hat Jason Merrill P V
Red Hat Torvald Riegel A
Red Hat Thomas Rodgers
Ripple Labs Howard E. Hinnant P V
Ripple Labs Stephen Schurr A
Saks & Associates Benjamin Saks P
Sandia National Labs Daniel Sunderland P V
Sandia National Labs Mark Hoemmen
Sandia National Labs David Hollman
Schonfeld Tools LLC Wesley Maness P V
Seymour William Seymour P V
Stellar Science Kelly Walker P V
Symantec Mike Spertus P V
Synopsys Thierry Lavoie P V
Synopsys Tom Honermann A
Synopsys Michael Price A
University of Akron Andrew Sutton P V
VMware Inc Mark Zeren P V

Other WG21 members

Company / Organization NB Representative WG21
BDS BG Vasil Vasilev M
CA Bryan St, Amour M
Apple CA JF Bastien M
Canada Seneca CA Chris Szarwinski M
Christie Digital CA Tony Van Eerd M
Codeplay CA Michael Wong M
IBM CA Shuo Feng Liu M
IBM CA Hubert Tong M
Mozilla CA Botond Ballo M
Christie Digital CA Tony Van Eerd M
University of Windsor CA Paul Preney M
Université de Sherbrooke CA Patrice Roy M
CERN CH Axel Naumann M
HSR CH Peter Sommerlad M
Vollmann Engineering CH Detlef Vollmann M
DE Fabio Fracassi M
DE Nicolai Josuttis M
GSI DE Matthias Kretz M
University Carlos III ES J. Daniel García M
CryptoTec FI Mikael Kilpeläinen M
Plum Hall FI Ville Voutilainen A
UK Roger Orr M
ARM UK Will Deacon M
Jetbrains UK Timur Doumler M
PDT Partners UK Jeff Snyder M
UK Dinka Ranns M
Nokia PL Michał Dominiak M

Participating non-members

Company / Organization NB Representative
Nicolas Lesser
Faisal Vali
Gevorg Voskanyan
Michael Young
Blizzard James Touton
DePaul University Zhihao Yuan
Jump Trading Barry Revzin
KEWB Computing Bob Steagall
Maystreet Nathan Myers
National Instruments Ben Craig
Nokia Vicente J. Botet Escriba
Paris Observatory Vincent Reverdy
RKR Capital Robert Douglas
Sony Computer Entertainment Michael Spencer
Tanium Lisa Lippincott
think-cell Tony Lewis
Xilinx Ronan Keryell