libcxx ABI version 2

Hello libcxx experts,

I work on a toolchain where we’ve been using the various ABI improvements which are currently behind the _LIBCPP_ABI_UNSTABLE preprocessor define. We haven’t declared a stable C++ ABI yet but we are considering doing that soon-ish. I’m wondering what the general thinking is about ABIv2 (and/or its various parts), e.g. how mature these enhancements are, if there is any known timeline for declaring ABIv2 stable, would we be totally crazy to bake any of these into our stable ABI, etc.

We recently discovered a bug in LIBCXX_ABI_OPTIMIZED_FUNCTION ( and reverted back to the V1 ABI for now (since we haven’t declared stability) but it did come at a surprising regression in binary size for one of our workloads. Any specific advice about that bug would also be helpful.