Marshall's May UpdateJun 1, 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.
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.
This month was spent concentrating on code reviews and bug reports; so I implemented very little “new code”.
There was a lot of “infrastructure work” done on libc++ this month; a large cleanup of the test suite (still in progress), a bunch of work on debug mode for the library (also still in progress)
LWG issues resolved this month in libc++
sub_match::swaponly swaps the base class
LLVM features implemented this month (certainly incomplete)
Improved the behavior of the compiler intrinsic
__is_base_of. Clang no longer generates an error when you ask about inheritance relationships with unions, even if the non-union class is incomplete. This intrinsic is used by libc++ to implement
Fixed a few
regexbugs, and improved the
regextests in C++03.
LLVM bugs resolved this month (probably incomplete)
- Bug 42037 C++2a
std::midpoint`’s “Constraints” are not implemented
- Bug 41876
std::hashshould not accept
std::basic_stringswith custom character traits
The current status of libc++ can be found here:
There were no WG21 meetings in April. However, LWG held one teleconference this month, reviewing papers in advance of the July meeting. We’ll have more teleconferences in June.
I am working on more “cleanup” papers similar to P1458 - Mandating the Standard Library: Clause 16 - Language support library, and my P0805 - Comparing Containers needs an update.
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).
It’s been a quiet month for boost (except for C++ Now, the conference formerly known as BoostCon).
There are a couple of good trip reports for C++Now:
The next Boost release cycle is starting soon; with the deadline for new libraries coming up later this month. I’m hoping to mentor a new release manager with this release.
Another travel month. I spent a bunch of time away from home, but only one conference:
- At C++ Now in Aspen, CO, I presented “The View from a C++ Standard Library Implementor”, which was voted the runner-up for “Most Engaging” talk.
I have submitted a talk for CppCon in September, but I will not hear back about this for a month or two.
I am looking forward to being at home for the entire month of June.