Marshall's June UpdateJul 2, 2019
There are four main areas where I spend my time.
- Libc++, where I am the “code owner”
- WG21, where I am the chair of the Library Working Group (LWG)
- Speaking at conferences
The next big milestone for libc++ is the LLVM 9.0 release this summer. We’re working towards that, implementing new features and fixing bugs. The “Branch for release” is currently scheduled for July 18th.
As the “code owner” for libc++, I also have to review the contributions of other people to libc++, and evaluate and fix bugs that are reported. That’s a never-ending task; there are new contributions ever day.
I created a status page for the LWG issues and papers that are already set up for a vote at the Cologne WG21 meeting.
LWG issues resolved this month in libc++ (almost certainly incomplete)
- LWG2221 No formatted output operator for
sys_daysuses not-existing member function
LLVM features implemented this month (almost certainly incomplete)
- P0553 Bit operations
- P0556 Integral power-of-2 operations
- P1355 Exposing a narrow contract for
- P0646 Improving the Return Value of Erase-Like Algorithms I
LLVM bugs resolved this month (probably incomplete)
- Bug 41843
std::is_base_ofshould give correct result for incomplete unions
- Bug 38638 Wrong constraint for
- Bug 30589
std::complexwith a custom type does not work because of how std::__promote is defined
- Bug 42396 Alignment not respected in containers for over-aligned enumeration types
- Bug 28704
num_get::do_getincorrect digit grouping check
- Bug 18074 Undefined references when using pointer to member functions
- Bug 26503
std::quoteddoesn’t work with
- Bug 41714
std::tuple<>is not trivially constructible
- Bug 36863
basic_string_view(const CharT*, size_type)constructor shouldn’t comment out assert of nullptr and length checks
- Bug 42166
to_charscan puts leading zeros on numbers
Other LLVM bits from this month (certainly incomplete)
to_chars. Much faster, and avoids having multiple implementations. This involved reworking
to_charsso that it was available back to C++03. I did all of the
to_charsrefactoring, but not the
The current status of libc++ can be found here:
The next WG21 meeting is July 15-20 in Cologne, Germany.
There were no WG21 meetings in June. We (LWG) held four teleconference this month, reviewing papers in advance of the July meeting, and will have another one next week.
I had seven papers in the pre-Cologne mailing:
- P1718R0: Mandating the Standard Library: Clause 25 - Algorithms library
- P1719R0: Mandating the Standard Library: Clause 26 - Numerics library
- P1720R0: Mandating the Standard Library: Clause 28 - Localization library
- P1721R0: Mandating the Standard Library: Clause 29 - Input/Output library
- P1722R0: Mandating the Standard Library: Clause 30 - Regular Expression library
- P1723R0: Mandating the Standard Library: Clause 31 - Atomics library
- P1724R0: C++ Standard Library Issues to be moved in Cologne
The goal of the July meeting is to have a “Committee Draft” (CD) of the proposed C++20 standard that can be sent out for review.
Also on my TODO list is to attempt to implement some of the proposals that are coming up for a vote in July (
flat_map, text formatting, etc).
The next Boost release cycle is in process; I am helping Michael Caisse as release manager with this release.
I have submitted a talk for CppCon in September, but I will not hear back about this for a month or two.
I submitted a talk for ACCU Autumn, which is in Belfast right after the WG21 meeting, but I haven’t heard back about that yet. In any case, I will be attending this conference, since it’s in the same hotel as the WG21 meeting, and starts two days after the WG21 meeting, and concludes right before Meeting C++.