Marshall's May Update

Jun 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)
  • Boost
  • 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++

  • 2960 sub_match::swap only 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 std::is_base_of.

  • Fixed a few regex bugs, and improved the regex tests in C++03.

LLVM bugs resolved this month (probably incomplete)

  • Bug 42037 C++2a std::midpoint`’s “Constraints” are not implemented
  • Bug 41876 std::hash should not accept std::basic_strings with 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 have submitted talks for C++ Russia and Meeting C++, which are both very close (timewise) to the Belfast WG21 meeting, but I haven’t heard back yet.

I am looking forward to being at home for the entire month of June.

All Posts by This Author