tree 2eebc6b63de644c6605da6ee3643d711d82d6267
parent cc7c44411318a2e499e69ebd778cd22d82bd2860
author Liza <liza@chromium.org> 1794518269 -0800
committer Copybara-Service <copybara-worker@google.com> 1794518651 -0800

Reland "Roll libc++ from d816ed0274ed to 64f64c14ae2f (284 revisions)"

This is a reland of commit 821ce3cd87553b09a80b5004176f6f0928844c90

This reland is the same as another CL fixed the linux CFI bot
https://chromium-review.git.corp.google.com/c/chromium/src/+/8796912

Original change's description:
> Roll libc++ from d816ed0274ed to 64f64c14ae2f (284 revisions)
>
> https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/d816ed0274ed..64f64c14ae2f
>
> - Removes obsolete `_LIBCPP_NO_ABI_TAG` from `buildtools/third_party/libc++/__config_site` to match `_LibcxxExplicitABIAnnotations` pragma behavior and avoid `abi_tag` redeclaration conflicts in `<__locale_dir/support/windows.h>` (#222081).
> - Adds `//third_party/libc++/src/src/debugging.cpp` to `buildtools/third_party/libc++/BUILD.gn` for C++26 `<debugging>` (#81447) and removes `-Wundef` in `buildtools/third_party/libc++/BUILD.gn` (#236806).
> - Adds missing `<cstddef>` / `std::size_t` in `base/allocator/partition_allocator/src/partition_alloc/internal_allocator_forward.h`, `base/containers/to_vector.h`, and `base/numerics/basic_ops_impl.h` after `<new>` stopped transitively including `<cstddef>` (#222814).
> - Binds `network::kFencedFrameAllowedFeatures` to a local `base::span` in `services/network/public/cpp/permissions_policy/permissions_policy.cc` to avoid `-Wunreachable-code` when `kFencedFrameAllowedFeatures` is an empty `constexpr base::span` (#213752).
>
> 2026-11-03 anant1234466@gmail.com [libc++] Implement LWG4294: bitset(const CharT*) constructor needs to be constrained (#238119)
> 2026-11-02 vitalybuka@google.com [libc++][test] Avoid assert() in gnu/hash/specializations.verify.cpp (#237485)
> 2026-11-03 github.snugness349@passinbox.com [libc++][NFC] Mark LWG2859 as "Nothing To Do" (#236127)
> 2026-11-02 luca.bacci982@gmail.com [libc++][windows] Use _wsetlocale() in __locale_guard (#160479)
> 2026-11-02 ldionne.2@gmail.com [libc++] Only refine benchmark changes of at least 10% (#238012)
> 2026-11-02 aotodev@gmail.com [libc++][ranges] Implement LWG3904: `lazy_split_view::outer-iterator`'s const-converting constructor isn't setting `trailing_empty_` (#237550)
> 2026-10-31 mike.kazakov@gmail.com [libc++][pstl] Add serial implementations of std::inclusive_scan and std::transform_inclusive_scan (#236219)
> 2026-10-31 aotodev@gmail.com [libc++][ranges] Implement LWG3797: `elements_view` insufficiently constrained (#236930)
> 2026-10-30 mike.kazakov@gmail.com [libc++] Added a benchmark for std::reduce with a trivial reduction operator (std::plus) (#236853)
> 2026-10-30 ldionne.2@gmail.com [libc++] Submit the results of PR benchmarks to LNT and link to them (#237102)
> 2026-10-30 nikolasklauser@berlin.de [libc++] Remove unused type_info constructor (#235739)
> 2026-10-30 nikolasklauser@berlin.de [libc++] Add a few _LIBCPP_HIDE_FROM_ABI which have been accidentally removed in #201722 (#236733)
> 2026-10-30 nikolasklauser@berlin.de [libc++][NFC] Move checks whether mutex/condition_variable are trivial to their headers (#236806)
> 2026-10-30 mike.kazakov@gmail.com [libc++][pstl] Introduce a "statpart" backend (#230540)
> 2026-10-29 ldionne.2@gmail.com [libc++] Produce LNT v5 reports from the A/B benchmark job (#237001)
> 2026-10-29 liza@chromium.org [libcxx] Optimize __split_buffer::__relocate by using size-based __set_valid_range (#216822)
> 2026-10-29 kisuhorikka@gmail.com [libc++] Add __uninitialized_allocator_{fill_n,value_construct_n,move} and use them in vector (#167112)
> 2026-10-29 de34@live.cn [libc++][test] Remove `XFAIL` for LLVM libc in `valarray` tests (#236629)
> 2026-10-28 ldionne.2@gmail.com [libc++] Remove stale XFAIL from small_buffer.pass.cpp (#234407)
> 2026-10-28 ldionne.2@gmail.com [libc++] Use constant initialization for the random_shuffle engine (#234815)
> 2026-10-28 public@kits.net [libcxx][test-support] Implement fancy_pointer_allocator (#196187)
> 2026-10-28 mike.kazakov@gmail.com [libc++] Make __thread_hardware_concurrency() an alias to an existing symbol (#234575)
> 2026-10-28 nikolasklauser@berlin.de Reapply "[libc++] Fix incorrect size check when growing std::string" (#234545) (#234551)
> 2026-10-27 ldionne.2@gmail.com [libc++] Make detect-changepoints much faster (#236245)
> 2026-10-27 zerico2005@gmail.com [libc++][test][NFC] Use correct number of digits for <numbers> ground-truth values (#233664)
> 2026-10-27 github.snugness349@passinbox.com [libc++][ranges] Mark LWG3532 as resolved (#235016)
> 2026-10-27 aotodev@gmail.com [libc++] Implement LWG4245: Operators that interact with counted_iterator and default_sentinel_t should be noexcept (#235445)
> 2026-10-26 ldionne.2@gmail.com [ci] Create a monorepo-wide workflow to submit to LNT (#235863)
> 2026-10-25 michaelbuch12@gmail.com [libc++][lldb] Add initial LLDB data-formatters (#187677)
> 2026-10-24 mike.kazakov@gmail.com [libc++] Add benchmarks for std::reduce and std::transform_reduce (#233374)
> 2026-10-23 martin@martin.st [libcxx] [test] Update XFAILs for a clang-cl bug fixed in clang 23 (#234630)
> 2026-10-23 mike.kazakov@gmail.com [libc++][pstl] Add serial implementations of the set operations (#233783)
> 2026-10-23 vishanksinghh@gmail.com [libc++] Implement LWG3749: `common_iterator` should handle integer-class difference types (#233606)
> 2026-10-22 rkleckner@nvidia.com [libc++][docs] Remove stale release notes from toctree (#234792)
> 2026-10-22 ldionne.2@gmail.com [libc++] Request refinement commits from the benchmark cron job (#234739)
> 2026-10-22 ldionne.2@gmail.com [libc++] Add a tool to select commits to narrow down benchmark changes (#234716)
> 2026-10-22 zibi@ca.ibm.com [libc++][filesystem] Fix truncation in vformat_string dynamic fallback (#203531)
> 2026-10-22 ldionne.2@gmail.com [libc++] Allow detect-changepoints to analyze several series at once (#234651)
> 2026-10-22 ldionne.2@gmail.com [libc++] Share the benchmark paths and the LNT runs listing between the LNT tools (#234616)
> 2026-10-22 ldionne.2@gmail.com [libc++][NFC] Update the LNT README to use GET /series (#234619)
> 2026-10-22 ldionne.2@gmail.com [libc++] Clean up leftover std::print availability workarounds (#234379)
> 2026-10-22 ldionne.2@gmail.com [libc++][docs] Fix the name of the availability attribute macro (#234380)
> 2026-10-22 npopov@redhat.com Revert "[libc++] Fix incorrect size check when growing std::string" (#234545)
> 2026-10-22 nikolasklauser@berlin.de [libc++] Fix incorrect size check when growing std::string (#232737)
> 2026-10-21 sharjeelkhan@google.com [libc++][Android] Update compiler and sysroot for Android libc++ builders (#234389)
> 2026-10-21 ldionne.2@gmail.com [libc++] Actually run union_tests() in invoke.pass.cpp (#234205)
> 2026-10-22 henrichataing@google.com [libc++] Replace integrals helper by types::integer_types (#233923)
> 2026-10-22 nikolasklauser@berlin.de [libc++] Remove old release notes (#234169)
> 2026-10-22 hghristov.rmm@gmail.com [libc++] Flat containers should reject `vector<bool, Alloc>` (#224886)
> 2026-10-21 joker.eph@gmail.com [libc++] Disable automatic module scanning on ARM CI builders (#232947)
> 2026-10-21 github.snugness349@passinbox.com [libc++] Add coverage for corner case in enumerate_view::size test (#233777)
> 2026-10-21 mike.kazakov@gmail.com [libc++][pstl][NFC] Sort the forward declarations in backend_fwd.h (#233477)
> 2026-10-21 ndesaulniers@google.com [libcxx][docker] Update android libc++ builders (#232887)
> 2026-10-21 nikolasklauser@berlin.de Reapply "[libc++] Remove __libcpp_allocate" (#222814) (#229771)
> 2026-10-21 nikolasklauser@berlin.de [libc++] Replace __libcpp_allocate with std::allocator in small_bufer.h (#234158)
> 2026-10-20 michaelrj@google.com [libcxx][libc] add missing flag to libc config (#233935)
> 2026-10-20 ldionne.2@gmail.com [libc++] Add a tool to find when a benchmark result changed (#233656)
> 2026-10-20 nikolasklauser@berlin.de [libc++] Optimize filebuf::seekoff (#211788)
> 2026-10-20 brad@comstyle.com [libc++] Mark xopen_source test unsupported on OpenBSD (#233710)
> 2026-10-20 vishanksinghh@gmail.com [libc++] Mark LWG4460 as Nothing To Do (#232252)
> 2026-10-19 ldionne.2@gmail.com [libc++] Record more information about commits submitted to LNT (#233634)
> 2026-10-19 mike.kazakov@gmail.com [libc++] Introduce a free function __thread_hardware_concurrency() (#232284)
> 2026-10-19 mike.kazakov@gmail.com [libc++][pstl] Make the serial backend the ultimate fallback for all backends (#233421)
> 2026-10-19 mike.kazakov@gmail.com [libc++][pstl] Add more tests of parallel std::for_each[_n] (#231918)
> 2026-10-18 michiel.van.slobbe+github@gmail.com [libc++] Don't claim strong emplace guarantee for vector/deque of throwing-move types (#229686)
> 2026-10-18 ckennelly@ckennelly.com [libc++] Fix use-after-free during self-assignment (#225296)
> 2026-10-18 emmettzhang2020@outlook.com [libc++] Granularize <execution> (#229315)
> 2026-10-16 ldionne.2@gmail.com [libc++] Remove the LNT v4 test suite schemas (#232897)
> 2026-10-16 ldionne.2@gmail.com [libc++] Bump the LNT machines to the latest version of the test suite (#232895)
> 2026-10-16 ldionne.2@gmail.com [libc++] Switch the libc++ benchmark pipelines to LNT v5 (#232888)
> 2026-10-16 ldionne.2@gmail.com [libc++] Update the LNT tooling to LNT v5 (#232866)
> 2026-10-16 alex@alexrp.com [libcxx] fix missing `__get_locale_encoding()` for OpenBSD (#228306)
> 2026-10-16 hima130602@gmail.com [libc++] Don't export ABI tagged __str_to_float_c_locale specializations on MinGW (#229456)
> 2026-10-15 vladi.krapp@arm.com [libcxx] Include <ctime> directly in header that uses struct tm (#231158)
> 2026-10-14 ldionne.2@gmail.com [libc++] Extract running the benchmarks into reusable workflows (#232168)
> 2026-10-14 ldionne.2@gmail.com [libc++] Extract LNT benchmark validation into a reusable workflow (#232155)
> 2026-10-14 ldionne.2@gmail.com [libc++] Remove --allow-missing-machine from plan-benchmarks (#232042)
> 2026-10-14 nikolasklauser@berlin.de [libc++] Remove redundant `_LIBCPP_HIDE_FROM_ABI` from detail headers a-c (#201722)
> 2026-10-14 ldionne.2@gmail.com [libc++] Add LNT v5 schemas for the libcxx and libstdcxx test suites (#231998)
> 2026-10-14 zerico2005@gmail.com [libcxx] Fix `long double` literals in <numbers> (#222830)
> 2026-10-14 nikolasklauser@berlin.de [libc++] Avoid passing both sentinel and size around in vector (#214132)
> 2026-10-14 nikolasklauser@berlin.de [libc++] Use a custom once_flag implementation for locale::id::__get() (#212235)
> 2026-10-14 nikolasklauser@berlin.de [libc++] Remove workaround to make fpclassify constexpr for the UCRT (#224226)
> 2026-10-14 nikolasklauser@berlin.de [libc++] Optimize hash table lookup (#230430)
> 2026-10-13 michaelrj@google.com [libcxx][NFC] remove XFAIL on stdio_h.compile.pass (#231694)
> 2026-10-13 michaelrj@google.com [libcxx][libc] Remove last LLVM-libc carveout (#230294)
> 2026-10-13 ldionne.2@gmail.com [libc++] Avoid guard variables for the error_category singletons (#231282)
> 2026-10-13 ldionne.2@gmail.com [libc++] Fix typo in FreeBSD macro for <debugging> (#231149)
> 2026-10-13 aidengrossman@google.com [Github][libcxx] Bump CI container (#227787)
> 2026-10-13 nikolasklauser@berlin.de [libc++] Assume separate storage in vector (#225325)
> 2026-10-13 ldionne.2@gmail.com [libc++] Fix search_n with an invalid count (#223747)
> 2026-10-13 henrichataing@google.com [libc++] Suppress unsigned-integer-overflow warning in <charconv> (#225801)
> 2026-10-13 nikolasklauser@berlin.de [libc++] Optimize basic_string::operator=(const value_type*) (#227622)
> 2026-10-13 aidengrossman@google.com [libcxx] Don't use #define __unused in libcxx-03 for glibc (#230209)
> 2026-10-13 aidengrossman@google.com [libcxx] Fix -Wshift-counter-overfliw in cxx03 bitset (#230208)
> 2026-10-13 nikolasklauser@berlin.de [libc++] Don't explicitly rethrow in flat container function try blocks (#230988)
> 2026-10-13 nikolasklauser@berlin.de [libc++] Merge the various search loops in __hash_table (#230440)
> 2026-10-12 mike.kazakov@gmail.com [libc++][pstl] Corrected the return types of some parallel algorithms that were returning "void" (#230586)
> 2026-10-12 xbcnn@163.com [libc++] Avoid key_eq calls in hash_table rehash (#216551)
> 2026-10-11 joker.eph@gmail.com [docs] Update obsolete Phabricator references for GitHub workflows (#229542)
> 2026-10-11 vishanksinghh@gmail.com [libc++][chrono][threading] Implement LWG 3504: `condition_variable::wait_for` is overspecified (#222443)
> 2026-10-11 karolis.spukas@gmail.com [libc++] Implement LWG2991: variant copy constructor missing noexcept(see below) (#230241)
> 2026-10-10 karolis.spukas@gmail.com [libc++] Implement LWG4290: Missing Mandates clauses on is_sufficiently_aligned (#229765)
> 2026-10-09 ldionne.2@gmail.com [libc++] Mark type_order test as unsupported on recent AppleClang (#230210)
> 2026-10-09 nikolasklauser@berlin.de [libc++] Optimize unordered_{,multi}{map,set} move construct with allocators (#227955)
> 2026-10-08 rkleckner@nvidia.com [libc++][docs] Use project-local links in release notes (#228624)
> 2026-10-08 haowei@google.com [libc++] Include <ctime> in <__locale_dir/support/fuchsia.h> (#229957)
> 2026-10-08 jpenix@quicinc.com [libc++] Reorder link flags in exception_guard.odr.sh.cpp (#229589)
> 2026-10-08 3440910457@qq.com [libc++] Fix ill-formed return in function_ref's static-call path (#228868)
> 2026-10-08 ldionne.2@gmail.com [libc++] Fix size_t overflow in make_shared<T[]> and allocate_shared<T[]> (#223735)
> 2026-10-08 public@kits.net [libcxx][test-support] Improve thread_unsafe_shared_ptr (#195932)
> 2026-10-08 de34@live.cn [libc++][test] Remove spurious `REQUIRES: has-fblocks` (#227972)
> 2026-10-07 michaelrj@google.com [libcxx] Fix indirect includes for nolocale (#229601)
> 2026-10-07 wtranviet@proton.me [libc++][docs] Clarify documentation for `is_debugger_present` (#229907)
> 2026-10-07 hghristov.rmm@gmail.com [libc++] Implement `<debugging>` (#81447)
> 2026-10-07 mike.kazakov@gmail.com [libc++] Allow internal functions from atomic_sync.h to be used in C++17 (#224356)
> 2026-10-07 mike.kazakov@gmail.com [libc++][pstl] Implement LWG3552: Parallel specialized memory algorithms should require forward iterators (#228462)
> 2026-10-07 github.snugness349@passinbox.com [libc++][ranges][enumerate_view] Update sentinel `equal` test (#222331)
> 2026-10-07 1w3r5yviper2077@gmail.com [libc++][NFC] Fix include guards in __concepts/ (#229398)
> 2026-10-07 hima130602@gmail.com [AIX][libc++] Forward-declare locale functions in aix.h when _XOPEN_SOURCE < 700 (#220508)
> 2026-10-06 ldionne.2@gmail.com [libc++] Pass -fsized-deallocation to the sized_delete tests on AppleClang 23 (#229257)
> 2026-10-06 ldionne.2@gmail.com [libc++] Enable _LIBCPP_DIAGNOSE_IF on AppleClang (#229187)
> 2026-10-06 ldionne.2@gmail.com [libc++] Guard unchecked uses of wchar_t and char8_t in tests (#229255)
> 2026-10-06 ekeane@nvidia.com [libcxx] Add 'DoNotOptimize' to a test that is missing it. (#228253)
> 2026-10-05 aidengrossman@google.com [libcxx] Also ignore -Wshift-count-overflow in clang (#229087)
> 2026-10-04 aidengrossman@google.com [libcxx] Add user to linux-builder docker image (#228933)
> 2026-10-02 aidengrossman@google.com [libcxx] Bump clang in CI container to v24 (#227930)
> 2026-10-02 aidengrossman@google.com [libcxx] Ensure CLANG_VERSION_MAJOR is defined in clang-tidy checks (#228127)
> 2026-10-02 de34@live.cn [libc++][test] Remove some `XFAIL` for LLVM libc in multi-threaded tests (#228036)
> 2026-09-30 ldionne.2@gmail.com [libc++] Remove unused generalization from the libc++ benchmarking pipeline (#227369)
> 2026-09-30 nikolasklauser@berlin.de [libc++] Optimize vector::emplace_back slow path (#222016)
> 2026-09-30 lucian.popescu187@gmail.com [libc++] Fix rvalue_iterator arithmetic operators in tests (#220686)
> 2026-09-30 nikolasklauser@berlin.de [libc++] Optimize basic_string::operator= (#224535)
> 2026-09-29 ldionne.2@gmail.com [libc++] Run Linux benchmarks on the premerge k8s runner set (#227547)
> 2026-09-29 ldionne.2@gmail.com [libc++] Bump machines to latest test suite (#227528)
> 2026-09-29 rkleckner@nvidia.com [libc++][docs] Convert documentation from reST to Markdown (batch 2) (#222064)
> 2026-09-29 rkleckner@nvidia.com [libc++][docs] Rename documentation files to Markdown (batch 2) (#222062)
> 2026-09-29 ldionne.2@gmail.com [libc++] Fix calling push_heap on an empty range in the push_heap benchmark (#227076)
> 2026-09-29 ldionne.2@gmail.com [libc++] Remove unnecessary container constructions in setup code (#216141)
> 2026-09-29 ldionne.2@gmail.com [libc++][NFC] Fix typos in the LNT tooling (#227347)
> 2026-09-29 ldionne.2@gmail.com [libc++] Add coverage for push_range on stack/queue with non-default underlying containers (#210730)
> 2026-09-29 ldionne.2@gmail.com [libc++] Fix use-after-free in the monotonic_buffer benchmark (#227072)
> 2026-09-29 ldionne.2@gmail.com [libc++] Use a union for uninitialized storage in associative container benchmarks (#227068)
> 2026-09-29 ldionne.2@gmail.com [libc++] Fix out-of-bounds read in the associative container query benchmarks (#227070)
> 2026-09-29 ldionne.2@gmail.com [libc++] Fix "leak" of PMR resource in benchmark (#216114)
> 2026-09-29 ldionne.2@gmail.com [libc++] Encode the standard version in the ABI tag (#218527)
> 2026-09-29 aidengrossman@google.com [libcxx] Delete runner set image versions (#227141)
> 2026-09-28 ndesaulniers@google.com [libc++][chrono] Initialize optional tm_zone member in __convert_to_tm (#220068)
> 2026-09-28 ldionne.2@gmail.com [libc++] Use a self-contained job to run libstdc++ benchmarks (#226985)
> 2026-09-28 nikolasklauser@berlin.de [libc++] Add a benchmark for string::append (#226559)
> 2026-09-27 aidengrossman@google.com [libcxx] Still use CMake 3.31 in the CI image (#226749)
> 2026-09-28 ykiko@clice.io [libc++][format] Don't leave the output buffer full after a bulk write (#226791)
> 2026-09-27 Jake.egan@ibm.com [libc++][AIX] Add system library path via blibpath for lldb (#223837)
> 2026-09-27 rkleckner@nvidia.com [libc++][docs] Convert documentation from reST to Markdown (batch 1) (#221513)
> 2026-09-27 rkleckner@nvidia.com [libc++][docs] Rename documentation files to Markdown (batch 1) (#221512)
> 2026-09-27 artafinde@gmail.com [libc++][chrono] Fix years/months periods on GCC/i386 (#223669)
> 2026-09-27 thakis@chromium.org [libc++] Port #200996 to ostream (#226372)
> 2026-09-26 mike.kazakov@gmail.com [libc++][pstl] Add more benchmarks of the parallel algorithms (#225908)
> 2026-09-26 vyordangiovani@gmail.com [libc++] Add static_assert diagnostics for LWG3133 named requirements (#212360)
> 2026-09-26 de34@live.cn [libc++][NFC] Avoid empty namespace in internal headers of `<ranges>` (#226034)
> 2026-09-26 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::swap_ranges() based on parallel __for_each (#224967)
> 2026-09-25 ldionne.2@gmail.com [libc++] Add a benchmark machine for libstdc++ (#226346)
> 2026-09-25 nikolasklauser@berlin.de [libc++] Add benchmark for string::pop_back() (#223729)
> 2026-09-25 hima130602@gmail.com [libcxx][locale] Refactor strtonum functions using __str_to_float_c_locale<FloatT> (#222081)
> 2026-09-24 ldionne.2@gmail.com [libc++] Take the benchmark testing configuration from the test suite (#226267)
> 2026-09-24 rkleckner@nvidia.com [docs] Require MyST for Sphinx documentation builds (#223829)
> 2026-09-24 aidengrossman@google.com [Github] Bump libcxx image to ubuntu 26.04 (#225550)
> 2026-09-24 ldionne.2@gmail.com [libc++] Re-apply "Build GoogleBenchmark directly from Lit" (#225856)
> 2026-09-24 ldionne.2@gmail.com [libc++] Bump macOS CI runners from 26.5 to 26.6.2 (#226012)
> 2026-09-24 aidengrossman@google.com [libcxx] Update docs for updating the CI container image (#226018)
> 2026-09-24 de34@live.cn [libc++][docs] Mark LWG2727 Complete in LLVM 24 (#225606)
> 2026-09-23 ldionne.2@gmail.com [libc++][docs] Fix typos in TestingLibcxx.rst (#225983)
> 2026-09-23 ldionne.2@gmail.com [libc++] Don't pass a path lvalue to DoNotOptimize in the filesystem benchmark (#225504)
> 2026-09-23 ldionne.2@gmail.com [libc++] Encode Lit configuration parameters in machines.json (#225601)
> 2026-09-23 aokblast@FreeBSD.org [libcxx] Speed up xsgetn for always_noconv (#212010)
> 2026-09-23 haowei@google.com Revert "[libc++] Build GoogleBenchmark directly from Lit" (#225620)
> 2026-09-22 ldionne.2@gmail.com [libc++] Extract building libc++ into a composite action (#224670)
> 2026-09-22 ldionne.2@gmail.com [libc++] Build GoogleBenchmark directly from Lit (#224192)
> 2026-09-22 ldionne.2@gmail.com [libc++] Add missing <cstring> include in the string benchmark (#225501)
> 2026-09-22 michaelrj@google.com [libcxx] Enable threads on LLVM-libc (#224436)
> 2026-09-22 aidengrossman@google.com [libcxx] Simplify container images (#225214)
> 2026-09-22 de34@live.cn [libc++] Implement P3450R1: Extend `std::is_within_lifetime` (#201053)
> 2026-09-21 wtranviet@proton.me [libc++] Remove `_Tag` template parameter from __capacity_aware_iterator (#224983)
> 2026-09-21 nikolasklauser@berlin.de [libc++] Don't pass the sentinel to vector::__{insert,init}_with_size (#224583)
> 2026-09-20 wtranviet@proton.me [libc++] Add a compact, bounded iterator (#208271)
> 2026-09-20 hghristov.rmm@gmail.com [libc++] Update container adaptors' type verification tests (#224810)
> 2026-09-19 lucas.chollet@free.fr [libcxx] Avoid a busy-loop in atomic's lost_wakeup.pass.cpp (#211242)
> 2026-09-18 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::uninitialized_(copy|move)(_n) based on parallel __for_each (#223229)
> 2026-09-18 ldionne.2@gmail.com [libc++] Locate libstdc++ by querying GCC in the libstdc++ test configuration (#224335)
> 2026-09-18 ldionne.2@gmail.com [libc++] Allow specifying a configuration in test-at-commit (#224381)
> 2026-09-18 nikolasklauser@berlin.de [libc++] Add some basic benchmarks for std::regex (#223633)
> 2026-09-18 hghristov.rmm@gmail.com [libc++] Refactor container's types.pass.cpp tests (#223602)
> 2026-09-17 michaelrj@google.com [libcxx] Update libatomic check (#224162)
> 2026-09-17 ldionne.2@gmail.com [libc++] Include some Lit features in LNT submissions (#218043)
> 2026-09-17 michaelrj@google.com [libcxx][libc] Update LLVM-libc link list (#224164)
> 2026-09-17 ldionne.2@gmail.com [libc++] Automatically detect the OS in benchmark jobs (#224386)
> 2026-09-17 michaelrj@google.com [libcxx][libc] Update LLVM-libc/compiler-rt config (#224160)
> 2026-09-17 nikolasklauser@berlin.de [libc++] Move _LIBCPP_GET_C_LOCALE to the locale base API (#222924)
> 2026-09-17 nikolasklauser@berlin.de [libc++] Fix performance regression in std::num_put (#223334)
> 2026-09-16 mike.kazakov@gmail.com [libc++][pstl] Benchmark for parallel std::for_each (#222153)
> 2026-09-16 ldionne.2@gmail.com [libc++][ci] Retarget the ARM BuildKite runners (#224107)
> 2026-09-16 ldionne.2@gmail.com [libc++] Fix query benchmarks for associative containers (#216065)
> 2026-09-16 ldionne.2@gmail.com [libc++] Return a const reference from get_key in benchmarks (#216088)
> 2026-09-16 ldionne.2@gmail.com [libc++] Reword confusing warning message about AppleClang version (#222380)
> 2026-09-16 mike.kazakov@gmail.com [libc++][pstl] Use libdispatch on Apple platforms by default (#223240)
> 2026-09-16 yfyang@google.com [libc++] Skip including langinfo.h when unused (#223749)
> 2026-09-16 nikolasklauser@berlin.de [libc++] Optimize string::erase (#223721)
> 2026-09-16 nikolasklauser@berlin.de [libc++] Take the mersenne twister ABI break unconditionally (#222700)
> 2026-09-15 ldionne.2@gmail.com [libc++] Don't assume a valid range in find_if for empty inputs (#213752)
> 2026-09-15 me@eisenwave.net [libc++] Implement `<bit>` parts of P3793R2 Better shifting (#219389)
> 2026-09-15 hghristov.rmm@gmail.com [libc++][deque] Apply `[[nodiscard]]` to `deque::get_allocator` (#223599)
> 2026-09-14 hghristov.rmm@gmail.com [libc++][test-suite][NFC] Move `unused_variables` tests (#223234)
> 2026-09-14 nikolasklauser@berlin.de [libc++] Move _LIBCPP_HAS_COND_CLOCKWAIT into condition_variable.h (#222904)
> 2026-09-14 nikolasklauser@berlin.de [libc++] Optimize string copy construction (#222021)
> 2026-09-14 nikolasklauser@berlin.de [libc++][NFC] Remove some unused functions from to_chars_integral.h (#223130)
> 2026-09-14 nikolasklauser@berlin.de [libc++] Provide aligned allocation function iff the compiler claims support (#219199)
> 2026-09-12 de34@live.cn [libc++] Test LWG4113: Disallow `has_unique_object_representations<Incomplete[]>` (#169446)
> 2026-09-11 de34@live.cn [libc++][test] Remove non-functional `constexpr` in three-way comparison test for `variant` (#222837)
> 2026-09-11 nikolasklauser@berlin.de [libc++][NFC] Simplify __to_gcc_order by avoiding constexprness (#220940)
> 2026-09-11 nikolasklauser@berlin.de [libc++] Make _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE part of the locale base API (#219196)
> 2026-09-10 aidengrossman@google.com Revert "[libc++] Remove __libcpp_allocate" (#222814)
> 2026-09-10 nikolasklauser@berlin.de [libc++] Remove __libcpp_allocate (#220981)
> 2026-09-10 nikolasklauser@berlin.de [libc++] Add [[gnu::warn_unused]] to a bunch of threading utilities (#213963)
> 2026-09-10 nikolasklauser@berlin.de [libc++] Simplify the implementation of std::declval (#222303)
> 2026-09-10 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::minmax_element() based on parallel reduce (#221572)
> 2026-09-10 de34@live.cn [libc++] Remove `_LIBCPP_EXPLICIT_SINCE_CXX14` (#222221)
> 2026-09-09 mgorny@gentoo.org [libc++] Disable SSP in `clear_padding.pass.cpp` (#218130)
> 2026-09-09 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::is_heap() based on std::is_heap_until() (#221556)
> 2026-09-09 george.burgess.iv@gmail.com [libc++] Opt `std::*set` out of map key extraction optimization (#220452)
> 2026-09-09 de34@live.cn [libc++] Backport resolution of LWG2187 to C++11 (#222006)
> 2026-09-09 wtranviet@proton.me [libc++] Fix `optional<T>::transform` into `optional<T&>` (#221506)
> 2026-09-09 david.spickett@arm.com [libcxx][libcxxabi][cmake] Deduplicate sanitizer flags function (#221757)
> 2026-09-09 vishanksinghh@gmail.com [libc++][ranges] Implement LWG4013: Make `lazy_split_view::outer-iterator::value_type` non-default-constructible (#221919)
> 2026-09-09 de34@live.cn [libc++][NFC] Remove `optional::__get` (#217218)
> 2026-09-08 nikolasklauser@berlin.de [libc++] Fix make_from_tuple for reference types (#220966)
> 2026-09-08 de34@live.cn [libc++][test] Test SFINAE for `optional`'s operators in C++17 (#221643)
> 2026-09-08 jieke@live.cn [libc++][ranges] Implement LWG 3599 (#221573)
> 2026-09-06 3shandan@gmail.com [libc++] Implement LWG4072: std::optional comparisons: constrain harder (#209968)
> 2026-09-05 de34@live.cn [libc++][NFC] Avoid empty namespace in `<__concepts/common_with.h>` (#221407)
> 2026-09-04 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::min_element() based on parallel reduce (#219876)
> 2026-09-04 nikolasklauser@berlin.de [libc++] Assert that the alignment for memory_resource::allocate is a power of two (#219174)
> 2026-09-04 nikolasklauser@berlin.de [libc++] Avoid including <string_view> in <vector> (#220862)
> 2026-09-04 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::is_heap_until() based on __parallel_find() (#218603)
> 2026-09-03 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::find_end() based on __parallel_find() (#218321)
> 2026-09-04 de34@live.cn [libc++] Apply `[[nodiscard]]` to `get_new_handler` (#220847)
> 2026-09-03 nikolasklauser@berlin.de [libc++] Add a test for the ABI of std::locale::id (#220857)
> 2026-09-03 nikolasklauser@berlin.de [libc++] Optimize vector::emplace_back (#218658)
> 2026-09-03 nikolasklauser@berlin.de [libc++] Replace __uninitialized_allocator_copy with __uninitialized_allocator_copy_n (#219445)
> 2026-09-03 nikolasklauser@berlin.de [libc++] Fix std::pmr::new_delete_resource() returning underaligned pointers (#219166)
> 2026-09-02 hghristov.rmm@gmail.com [libc++][ranges] Implement P3052R2: `view_interface::at()` (#205012)
> 2026-09-02 nikolasklauser@berlin.de [libc++] Simplify allocator propagation in vector assignments (#217635)
> 2026-09-02 nikolasklauser@berlin.de [libc++] Add a test for the ABI of std::once_flag (#218924)
> 2026-09-01 sharjeelkhan@google.com [libc++] Add _LIBCPP_NO_SANITIZE for std::__assume_aligned (#220296)
> 2026-09-01 ndesaulniers@google.com libcxx: fixups for __BIONIC__ (#219591)
> 2026-09-01 hghristov.rmm@gmail.com [libc++][docs][NFC] Remove Format and Parallelism TS status pages (#220021)
> 2026-09-01 github.snugness349@passinbox.com [libc++][ranges][enumerate_view] Update iterator `iter_move` test (#219474)
> 2026-09-01 mfwippich@gmail.com [libc++] Implement P2830R10: Standardized Constexpr Type Ordering (#216616)
> 2026-08-31 sharjeelkhan@google.com [libc++] Enable _LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION for Bionic (#218055)
> 2026-08-31 ldionne.2@gmail.com [libc++] Add missing noexcept on shared_ptr assignment (#219533)
> 2026-08-31 nikolasklauser@berlin.de [libc++] Make once_flag pointer-sized on MinGW (#219895)
> 2026-08-31 c8ef@outlook.com [libc++] fix incorrect definition of __indirectly_binary_right_foldable (#219957)
> 2026-08-31 arthsrivastava1@gmail.com [libc++] Remove NaCl support from __cxx03 headers (#219787)
> 2026-08-31 corentin.kerisit@gmail.com [libc++] Do not define std::nothrow with VCRuntime ABI (#217694)
> 2026-08-29 akremer@ripple.com [libc++] Implement P3798R1: The unexpected in `std::expected` (#219236)
> 2026-08-28 higher.performance.github@gmail.com Speed up pre-C++20 operator<(std::tuple, std::tuple) (#214646)
> 2026-08-28 nikolasklauser@berlin.de [libc++] Use __copy_n in vector::__assign_with_size (#218370)
> 2026-08-28 hghristov.rmm@gmail.com [libc++][FTM] Updated FTMs from C++29 (#218241)
> 2026-08-27 ldionne.2@gmail.com [libc++] Document the procedure to introduce a new Standard in the library (#219026)
> 2026-08-27 nikolasklauser@berlin.de [libc++] Use new/delete expressions for memory allocation in <any> (#219153)
> 2026-08-27 hghristov.rmm@gmail.com [libc++] Kickstart C++29 support (#215820)
> 2026-08-26 wtranviet@proton.me [libc++] IWYU `<optional>` include in system_error.cpp (#215288)
> 2026-08-26 ldionne.2@gmail.com [libc++][NFC] Add clarifying comment on dangling macro defininition (#215883)
> 2026-08-26 nikolasklauser@berlin.de [libc++][NFC] Refactor new.ipp so the _impl functions take a failure mode argument (#218648)
> 2026-08-26 ldionne.2@gmail.com [libc++] Remove confusing summary (#218897)
> 2026-08-25 phosek@google.com [libcxx] Remove dependency on msvcprt/libcpmt (#209663)
> 2026-08-25 ldionne.2@gmail.com [libc++] Remove the historical benchmarking utilities (#217978)
> 2026-08-25 wtranviet@proton.me [libc++] Add test for LWG4043 ASCII in text_encoding (#218175)
> 2026-08-25 wtranviet@proton.me [libc++][docs] Document `std::optional` hardening (#218173)
> 2026-08-25 ldionne.2@gmail.com [libc++] Add availability for LLVM 22 on Apple platforms (#218518)
> 2026-08-25 github.snugness349@passinbox.com [libc++][math][NFC] Generalize test-suite improvement for `signbit` and `fpclassify` tests (#217897)
> 2026-08-25 nikolasklauser@berlin.de [libc++][NFC] Rename is_trivially_relocatable.h to is_relocatable.h (#218650)
> 2026-08-25 nikolasklauser@berlin.de [libc++] Remove _LIBCPP_SHORT_WCHAR (#207562)
> 2026-08-25 nikolasklauser@berlin.de [libc++] Optimize vector::erase (#213916)
> 2026-08-25 nikolasklauser@berlin.de [libc++] Optimize vector growth for nothrow move constructible types (#214690)
>
> If this roll has caused a breakage, revert this CL and stop the roller
> using the controls here:
> https://autoroll.skia.org/r/libcxx-chromium
> Please CC hans@chromium.org,thakis@chromium.org on the revert to ensure that a human
> is aware of the problem.
>
> To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
>
> To report a problem with the AutoRoller itself, please file a bug:
> https://issues.skia.org/issues/new?component=1389291&template=1850622
>
> Documentation for the AutoRoller is here:
> https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
>
> Bug: 534049474, 503250165
> Change-Id: I531b259168332c2624f13bccfede9c648a651d06
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8717169
> Reviewed-by: Ari Chivukula <arichiv@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Liza Burakova <liza@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1741794}

Bug: 534049474, 503250165
Change-Id: I8d6469d92484b3cebbe0ba0cf054b5a623be5490
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8807214
Commit-Queue: Liza Burakova <liza@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1743372}
NOKEYCHECK=True
GitOrigin-RevId: c2cb1556d37a6a2130fda46f3eba6eeac03f5bfe
