Libc++ 9.0.0 Release Notes¶
Written by the Libc++ Team
Introduction¶
This document contains the release notes for the libc++ C++ Standard Library, part of the LLVM Compiler Infrastructure, release 9.0.0. Here we describe the status of libc++ in some detail, including major improvements from the previous release and new feature work. For the general LLVM release notes, see the LLVM documentation. All LLVM releases may be downloaded from the LLVM releases web site.
For more information about libc++, please see the Libc++ Web Site or the LLVM Web Site.
What’s New in Libc++ 9.0.0?¶
Fixes¶
- Minor fixes to std::chronooperators.
- libc++ now correctly handles Objective-C++ ARC qualifiers in std::is_pointer.
- std::spangeneral updates and fixes.
- Updates to the std::absimplementation.
- std::to_charsnow adds leading zeros.
- Ensure std::tupleis trivially constructible.
- std::aligned_unionnow works in C++03.
- Output of nullptr to std::basic_ostreamis formatted properly.
Features¶
- Implemented P0608: sane variant converting constructor.
- Added ssizefunction.
- Added frontandbackmethods instd::span.
- std::is_unbounded_arrayand- std::is_bounded_arrayadded to type traits.
- std::atomicnow includes many new features and specialization including improved Freestanding support.
- Added std::midpointandstd::lerpmath functions.
- Added the function std::is_constant_evaluated.
- Erase-like algorithms now return size type.
- Added containsmethod to container types.
- std::swapis now a constant expression.