)]}'
{
  "commit": "dd67f5ca84f65ebb88ac0ea0fe2c1d58663e519f",
  "tree": "cb44c6e8fbba3a29598e8ffa4a2c6e48e72b4264",
  "parents": [
    "df548c50b2cda67158364d3d23c63043881b391d"
  ],
  "author": {
    "name": "Liza Burakova",
    "email": "liza@chromium.org",
    "time": "Tue Aug 11 04:54:38 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Aug 11 04:58:05 2026 -0700"
  },
  "message": "Reland \"Roll libc++ from b16984ce99c7 to 97b436da4c33 (215 revisions)\"\n\nThis is a reland of commit f25e1b6e8f70fad3d0bed260a1a9838da2878a83\n\nOriginal change\u0027s description:\n\u003e Roll libc++ from b16984ce99c7 to 97b436da4c33 (215 revisions)\n\u003e\n\u003e https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/b16984ce99c7..97b436da4c33\n\u003e\n\u003e This change causes a large increase in binary size that is likely\n\u003e due to `_LIBCPP_ABI_VECTOR_LAYOUT_SIZE_BASED`. However, we cannot\n\u003e disable that feature as a separate PR introduced a change that\n\u003e requires complete types to call `empty()` on vectors, which breaks\n\u003e our builds. It is also possible that new PGO profiles will reduce\n\u003e the binary size, so we should land this to compare canary binary sizes\n\u003e in a couple days. If the profiles don\u0027t change anything we can revert\n\u003e this roll. See the linked bug crbug.com/534049474 for more discussion\n\u003e around the binary size increase.\n\u003e\n\u003e This change replaces a multi-cast in playback_rate_shifter.cc on\n\u003e buffer-\u003echannel_data().data() with an explicit\n\u003e std::array\u003cfloat*, kMaxChannels\u003e channel pointer mapping. This is to\n\u003e prevent a crash in Clang\u0027s -Wunsafe-buffer-usage pass due to passing in\n\u003e an incomplete type.\n\u003e\n\u003e This change defers a call to dumps.erase(dumps.begin()) in\n\u003e minidump_uploader.cc until after attachment file cleanup. Previously,\n\u003e the erase call freed the DumpInfo instance before iterating over\n\u003e that instance\u0027s attachments, which caused a UaF that this recent roll\n\u003e surfaced.\n\u003e\n\u003e 2026-07-20 phosek@google.com [libcxx][NFC] Address -Wmicrosoft-cast in MSVC\u0027s exception_ptr (#210570)\n\u003e 2026-07-19 github.snugness349@passinbox.com [libc++][ranges] Add missing test cases for `[[nodiscard]]` tests in `enumerate_view` (#209289)\n\u003e 2026-07-17 aidengrossman@google.com Revert \"[lit] Delete the external shell\" (#210433)\n\u003e 2026-07-17 aidengrossman@google.com [lit] Delete the external shell (#209571)\n\u003e 2026-07-17 ldionne.2@gmail.com [libc++] Update release runners to the image that was used on main at the branch point (#210378)\n\u003e 2026-07-17 oyzawqgcfc@gmail.com [libcxx] avoid include Uppercase windows headers (#208903)\n\u003e 2026-07-16 nikolasklauser@berlin.de [libc++] Optimize std::is_heap_until (#209141)\n\u003e 2026-07-16 phosek@google.com [libc++] Partially revert #208330 (#209928)\n\u003e 2026-07-15 paulkirth@google.com [libcxx] Mark test unsupported in clang-24 (#209794)\n\u003e 2026-07-15 ldionne.2@gmail.com [libc++] Treat negative counts in copy_n \u0026 friends as no-ops (#207086)\n\u003e 2026-07-15 ldionne.2@gmail.com [libc++] Add benchmarks for std::binary_search and std::equal_range (#207268)\n\u003e 2026-07-15 ldionne.2@gmail.com [libc++] Add benchmarks for std::replace_copy and std::replace_copy_if (#207070)\n\u003e 2026-07-15 michaelrj@google.com [libcxx][libc] update LLVM-libc test status (#201236)\n\u003e 2026-07-15 ldionne.2@gmail.com [libc++] Create libc++ 24 release notes (#208814)\n\u003e 2026-07-14 efriedma@qti.qualcomm.com Make ios_base::xalloc non-atomic with LIBCXX_ENABLE_THREADS\u003dOFF. (#208356)\n\u003e 2026-07-14 ldionne.2@gmail.com [libc++] Compute a confidence interval in compare-benchmarks (#208090)\n\u003e 2026-07-14 liza@chromium.org [libc++][pstl] Add missing #pragma GCC system_header to libdispatch.h (#209579)\n\u003e 2026-07-14 fpiovezan@apple.com Revert \"[libc++][NFC] Inline std::function members into the class body\" (#209555)\n\u003e 2026-07-14 hghristov.rmm@gmail.com [libc++][ranges][NFC] Format `view.interface.pass.cpp` (#209391)\n\u003e 2026-07-14 ldionne.2@gmail.com [libc++][NFC] Remove unused \u003ccassert\u003e from algorithm benchmarks (#209492)\n\u003e 2026-07-14 douglas.yung@sony.com Bump version to 24.0.0git (#209473)\n\u003e 2026-07-14 nikolasklauser@berlin.de [libc++][NFC] Inline std::function members into the class body (#209461)\n\u003e 2026-07-14 open-source@inquisitivecrystal.addy.io [libc++] Mark LWG3403 as complete (#208866)\n\u003e 2026-07-14 ldionne.2@gmail.com [libc++] Improve diagnostic for libcxxabi missing from the runtimes (#208274)\n\u003e 2026-07-14 ldionne.2@gmail.com [libc++] Fix usage of constructive interference when we meant destructive (#208804)\n\u003e 2026-07-14 phosek@google.com [libcxx][libcxxabi] Remove OVERRIDABLE_FUNCTION macro (#209323)\n\u003e 2026-07-14 phosek@google.com [libcxx] Rename __libcpp_launder to __launder_function_pointer (#209320)\n\u003e 2026-07-13 jonathan_roelofs@apple.com [libcxx][test] Fingerprint the compiler when memoizing results (#208311)\n\u003e 2026-07-13 aidengrossman@google.com [libcxx] Avoid including deprecated ClangTidyModuleRegistry.h (#208945)\n\u003e 2026-07-13 emmettzhang2020@outlook.com [libc++][unique_ptr] Implement LWG 4144: Disallow unique_ptr\u003cT\u0026, D\u003e (#209018)\n\u003e 2026-07-13 liza@chromium.org [libc++] Add missing include to thread.h (#208740)\n\u003e 2026-07-13 de34@live.cn [libc++] Backport P3029R1 Better `mdspan`\u0027s CTAD to C++20/23 (#208132)\n\u003e 2026-07-13 Jake.egan@ibm.com [libc++] Fix filesystem::remove_all bug with read-only nested directory (#197104)\n\u003e 2026-07-13 nikolasklauser@berlin.de [libc++][NFC] Remove unused includes from \u003c__iterator/segmented_iterator.h\u003e (#209105)\n\u003e 2026-07-13 nikolasklauser@berlin.de [libc++] Refactor the string benchmarks (#185397)\n\u003e 2026-07-11 mike.kazakov@gmail.com [libc++][pstl] Default implementation of parallel std::reverse_copy (#208085)\n\u003e 2026-07-11 aidengrossman@google.com [libcxx] Bump runner set (#208929)\n\u003e 2026-07-11 phosek@google.com [libcxx][NFC] Move release notes for MSVC\u0027s implementation of exception_ptr (#208883)\n\u003e 2026-07-11 phosek@google.com [libc++] Replace the of use custom sections for detecting overriden functions (#208330)\n\u003e 2026-07-10 aidengrossman@google.com [libcxx] Bump GitHub runner version (#208823)\n\u003e 2026-07-10 yronglin777@gmail.com [libc++] Bump base image version to most recent (#208776)\n\u003e 2026-07-10 ldionne.2@gmail.com [libc++] Merge atomic-wait contention tables into a single table (#208493)\n\u003e 2026-07-10 stl@nuwen.net [libc++] Add MSVC\u0027s implementation of exception_ptr for Windows (#94977)\n\u003e 2026-07-10 yronglin777@gmail.com [libc++] Update the base image hash to get most recent clang-23 (#208766)\n\u003e 2026-07-10 ldionne.2@gmail.com [libc++] Add benchmarks for std::is_heap and std::is_heap_until (#207045)\n\u003e 2026-07-10 nikolasklauser@berlin.de [libc++] Fix shared_ptr not accepting allocators with explicit conversions (#208439)\n\u003e 2026-07-10 ldionne.2@gmail.com [libc++] Rename the macro for the LLVM 18 ABI tag used in ranges (#208464)\n\u003e 2026-07-10 ldionne.2@gmail.com [libc++] Remove diagnostic about _LIBCPP_ABI_NO_ITERATOR_BASES (#208460)\n\u003e 2026-07-09 hehiralbi@gmail.com [libc++] Enable missing allocator constructors in C++11 (#204845)\n\u003e 2026-07-09 nikolasklauser@berlin.de [libc++] Remove benchmark::DoNotOptimize from custom predicates in benchmarks (#208412)\n\u003e 2026-07-09 ldionne.2@gmail.com [libc++] Mark LWG4276 as complete (#208273)\n\u003e 2026-07-09 ldionne.2@gmail.com [libc++] Add tests for LWG3949 and mark it as done (#208272)\n\u003e 2026-07-09 ldionne.2@gmail.com [libc++] Fix assign_range test for forward_list (#208283)\n\u003e 2026-07-09 ldionne.2@gmail.com [libc++][NFC] Rename forward_list constructor tests (#208301)\n\u003e 2026-07-09 aokblast@FreeBSD.org [libc++] Update the label for FreeBSD in CI to version 15.1 (#205417)\n\u003e 2026-07-09 ldionne.2@gmail.com [libc++] Add missing \u003cstring\u003e include (#208281)\n\u003e 2026-07-09 ldionne.2@gmail.com [libc++][NFC] Fix comment about size-based vector (#208463)\n\u003e 2026-07-09 aviipatel06@gmail.com [libc++] Implement LWG4472: std::atomic_ref\u003cconst T\u003e can be constructed from temporaries (#208131)\n\u003e 2026-07-09 github.snugness349@passinbox.com [libc++][ranges] Applied [[nodiscard]] to `lazy_split` (#208036)\n\u003e 2026-07-09 nikolasklauser@berlin.de [libc++] Remove some unnecessary functions from __vector_layout (#207152)\n\u003e 2026-07-08 mike.kazakov@gmail.com [libc++][pstl] Default implementation of parallel std::find_first_of (#206328)\n\u003e 2026-07-08 michaelrj@google.com [libcxx][NFC] Move guards outside namespace (#208089)\n\u003e 2026-07-08 thoughtsoflifeandlight17@gmail.com [libc++] Implement LWG3918: copy elision in `std::uninitialized_move/_n` (#207692)\n\u003e 2026-07-08 emmettzhang2020@outlook.com [libc++][chrono] Implement LWG 4481: Disallow `chrono::duration\u003cconst T, P\u003e` (#207558)\n\u003e 2026-07-08 phosek@google.com Revert \"[libc++] Replace the of use custom sections for detecting overriden functions\" (#208157)\n\u003e 2026-07-08 phosek@google.com [libc++] Replace the of use custom sections for detecting overriden functions (#175896)\n\u003e 2026-07-07 hghristov.rmm@gmail.com [libc++][ranges] Applied `[[nodiscard]]` to `zip_view` (#207667)\n\u003e 2026-07-07 anthonycalandra@geotab.com [libc++][ThreadSafety] Add thread safety annotations for variadic std::scoped_lock (#204462)\n\u003e 2026-07-07 benjamin.luke@sony.com [clang][X86] Emit AVX level mismatch psABI warnings on function definitions (#199091)\n\u003e 2026-07-07 c8ef@outlook.com [libc++] Mark LWG3585 as resolved (#207717)\n\u003e 2026-07-07 github.snugness349@passinbox.com [libc++][ranges] Applied [[nodiscard]] to `join_view` (#206838)\n\u003e 2026-07-07 github.snugness349@passinbox.com [libc++][ranges] Applied [[nodiscard]] to `adjacent_transform_view` (#205900)\n\u003e 2026-07-06 hghristov.rmm@gmail.com [libc++][ranges] Applied `[[nodiscard]]` to `views::zip_transform` (#207120)\n\u003e 2026-07-06 aliaksei.urbanski@gmail.com [NFC] Fix \"is is\" typos (#206288)\n\u003e 2026-07-06 github.snugness349@passinbox.com [libc++][ranges] Applied [[nodiscard]] to `elements_view` (#206589)\n\u003e 2026-07-06 ldionne.2@gmail.com [libc++] Make atomic contention tables constinit (#207456)\n\u003e 2026-07-06 nikolasklauser@berlin.de [libc++] Use _LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23 in \u003cfuture\u003e (#207668)\n\u003e 2026-07-06 nikolasklauser@berlin.de [libc++] Split the multidimensional algorithms out of uninitialized_algorithms.h (#207447)\n\u003e 2026-07-06 vinay_deshmukh@outlook.com [libc++] Make `\u003cset\u003e` `std::multiset` constexpr as part of P3372R3 (#206257)\n\u003e 2026-07-05 nikolasklauser@berlin.de [libc++] Add an ABI flag to optimize mersenne_twister_engine (#206423)\n\u003e 2026-07-05 nikolasklauser@berlin.de [libc++] Use std::to_chars to format thread::id and canonicalize the representation across platforms (#181624)\n\u003e 2026-07-05 github.snugness349@passinbox.com [libc++] Mark LWG4098 as resolved (#206295)\n\u003e 2026-07-05 c8ef@outlook.com [libc++] Mark LWG3454 as resolved (#207487)\n\u003e 2026-07-03 ldionne.2@gmail.com [libc++] Fix SPEC benchmarks not producing a .lnt result file (#207450)\n\u003e 2026-07-03 hghristov.rmm@gmail.com [libc++][ranges] Enable CPO compile tests (#207123)\n\u003e 2026-07-03 c8ef@outlook.com [libc++] Add assert test for string assign/append (#207164)\n\u003e 2026-07-03 nikolasklauser@berlin.de [libc++] Base string\u0027s alignment on __STDCPP_DEFAULT_NEW_ALIGNMENT__ (#171785)\n\u003e 2026-07-03 nikolasklauser@berlin.de [libc++] Use _LIBCPP_NO_UNIQUE_ADDRESS for the new vector layout (#207149)\n\u003e 2026-07-02 ldionne.2@gmail.com [libc++][NFC] Move the lower_bound/upper_bound benchmark to the sorting directory (#207215)\n\u003e 2026-07-02 roche@httrack.com [libc++][test] Cover byteswap _BitInt padding on every ABI with width 72 (#206360)\n\u003e 2026-07-02 nikolasklauser@berlin.de [libc++] Remove _LIBCPP_COMPRESSED_PAIR from packaged_task (#200642)\n\u003e 2026-07-02 nikolasklauser@berlin.de Reapply \"[libc++] Optimize fstream::read\" (#206453)\n\u003e 2026-07-02 nikolasklauser@berlin.de Revert \"[libc++] Move threading and random device config into \u003c__configuration/platform.h\u003e\" (#207134)\n\u003e 2026-07-01 vinay_deshmukh@outlook.com [NFC][libc++] Fix formatting for `\u003cset\u003e` tests (#207080)\n\u003e 2026-07-01 nikolasklauser@berlin.de [libc++] Remove projection from __lower_bound_onesided (#206676)\n\u003e 2026-07-01 cjdb@google.com [libc++] Add a size-based representation for `vector` in the unstable ABI (#155330)\n\u003e 2026-07-01 nikolasklauser@berlin.de [libc++] Move threading and random device config into \u003c__configuration/platform.h\u003e (#206262)\n\u003e 2026-07-01 george.burgess.iv@gmail.com [libc++] Add Android assertion handler (#198831)\n\u003e 2026-07-01 aokblast@FreeBSD.org [libcxx] Enable std module test on FreeBSD (#206269)\n\u003e 2026-07-01 vonosmas@gmail.com [libc++] Assume that \u003cwchar.h\u003e in llvm-libc has const-overloads. (#206805)\n\u003e 2026-07-01 de34@live.cn [libc++] Fix behavior for `get_temporary_buffer` with non-positive size (#206871)\n\u003e 2026-07-01 nikolasklauser@berlin.de [libc++] Don\u0027t make libc++ headers system headers in the modulemap (#205509)\n\u003e 2026-07-01 nikolasklauser@berlin.de [libc++] Don\u0027t #define __unused with glibc in system_reserved_names.gen.py (#206971)\n\u003e 2026-07-01 c8ef@outlook.com [libc++] Implement LWG3662 basic_string::append/assign(NTBS, pos, n) suboptimal (#206320)\n\u003e 2026-07-01 Matthew.Arsenault@amd.com [runtimes][NFC] Re-indent shared library blocks (#205523)\n\u003e 2026-07-01 wtranviet@proton.me [libc++] Resolve LWG4366: Heterogeneous comparison of `expected` may be ill-formed  (#185342)\n\u003e 2026-06-30 xavier.roche@algolia.com [libc++][test][NFC] Remove implementation-detail noise from _BitInt test comments (#206666)\n\u003e 2026-06-30 vinay_deshmukh@outlook.com [libc++] Make `\u003cset\u003e` `std::set` constexpr as part of P3372R3 (#167241)\n\u003e 2026-06-29 phosek@google.com [CMake] Warn when the version of CMake is older than 3.31.0 (#204203)\n\u003e 2026-06-29 ikudrin@accesssoftek.com [libc++] Do not remove a root-name followed by \"..\" in `path::lexically_normal()` (#201261)\n\u003e 2026-06-29 vvereschaka@accesssoftek.com [libc++][test] XFAIL `text/text_encoding/environment.pass.cpp` test on Armv7/Linux Ubuntu targets. (#206188)\n\u003e 2026-06-29 de34@live.cn [libc++] Implement LWG4125: `move_iterator`\u0027s default constructor should be constrained (#206427)\n\u003e 2026-06-29 paulxicao7@gmail.com [libc++] LWG4557: Remove `constexpr` from `owner_less` and `owner_before` (#191534)\n\u003e 2026-06-29 de34@live.cn [libc++][docs] Remove superfluous entries for P1286R2 and P2085R0 (#166116)\n\u003e 2026-06-29 Matthew.Arsenault@amd.com [runtimes] Don\u0027t create shared library targets when unsupported (#205517)\n\u003e 2026-06-29 nikolasklauser@berlin.de [libc++] Consistently use version guards outside namespace macros (#181136)\n\u003e 2026-06-29 c8ef@outlook.com [libc++] Mark LWG4084 as resolved (#206224)\n\u003e 2026-06-29 github.snugness349@passinbox.com [libc++][ranges] Applied [[nodiscard]] to `adjacent_view` (#205206)\n\u003e 2026-06-28 xavier.roche@algolia.com [libc++][test] Drop _BitInt(96) byteswap padding check on 32-bit x86 (#205295)\n\u003e 2026-06-27 aokblast@FreeBSD.org [libc++][FreeBSD] Fix localization test on FreeBSD (#186066)\n\u003e 2026-06-27 nikolasklauser@berlin.de [libc++][NFC] Mark random_device::__padding_ as [[maybe_unused]] (#206248)\n\u003e 2026-06-27 c8ef@outlook.com [libc++] Mark LWG3498 as resolved (#206078)\n\u003e 2026-06-27 nikolasklauser@berlin.de [libc++] Fix shared_ptr rebinding allocators to incomplete types (#206145)\n\u003e 2026-06-26 de34@live.cn [libc++] Specify `encoding\u003d\u0027utf-8\u0027` in `conformance` script (#189534)\n\u003e 2026-06-26 ldionne.2@gmail.com [libc++] Fix instantiation of incomplete type when evaluating tuple comparisons (#204679)\n\u003e 2026-06-26 nikolasklauser@berlin.de [libc++] Split the PSTL configuration macros into a separate header (#205531)\n\u003e 2026-06-26 hghristov.rmm@gmail.com [libc++][ranges] Apply `[[nodiscard]]` to `istream_view` (#205154)\n\u003e 2026-06-26 nikolasklauser@berlin.de [libc++] Move compiler-specific configuration into \u003c__configuration/compiler.h\u003e (#205590)\n\u003e 2026-06-26 nikolasklauser@berlin.de [libc++] Remove _BitScanForward{,64} (#205551)\n\u003e 2026-06-26 nikolasklauser@berlin.de [libc++] Move _LIBCPP_FOPEN_CLOEXEC_MODE to \u003cfstream\u003e (#205537)\n\u003e 2026-06-26 nikolasklauser@berlin.de [libc++][NFC] Simplify the implementation of aligned_union (#185449)\n\u003e 2026-06-26 wtranviet@proton.me [libc++] Cast 0 to `__locale_t` in `text_encoding.cpp` (#205882)\n\u003e 2026-06-26 jdoerfert.llvm@gmail.com Revert \"[Instrumentor] Add runtime examples: [1/N] A flop counter\" (#205960)\n\u003e 2026-06-26 jdoerfert.llvm@gmail.com [Instrumentor] Add runtime examples: [1/N] A flop counter (#205698)\n\u003e 2026-06-25 de34@live.cn Revert \"[libc++]  P3798R1: The unexpected in std::expected (#204826)\" (#205597)\n\u003e 2026-06-25 hghristov.rmm@gmail.com [libc++][ranges] Applied `[[nodiscard]]` to `split_view` (#205161)\n\u003e 2026-06-25 hghristov.rmm@gmail.com [libc++][ranges] Applied `[[nodiscard]]` to `take_while_view` (#205172)\n\u003e 2026-06-25 nikolasklauser@berlin.de [libc++] Fix move-only types in std::make_shared (#205819)\n\u003e 2026-06-25 ldionne.2@gmail.com [libc++] Add missing ABI changelog entry for #173283 (#205887)\n\u003e 2026-06-25 nikolasklauser@berlin.de [libc++] Remove __broadcast simd function (#205559)\n\u003e 2026-06-25 de34@live.cn [libc++] Add missing attribute usages to `\u003c__memory/shared_ptr.h\u003e` (#205776)\n\u003e 2026-06-25 nikolasklauser@berlin.de [libc++] Remove _LIBCPP_COMPRESSED_PAIR/TRIPLE from shared_ptr (#200401)\n\u003e 2026-06-25 wtranviet@proton.me [libc++] Add implementations of `__get_locale_encoding(...)` to Fuschia and LLVM-Libc (#205716)\n\u003e 2026-06-25 nikolasklauser@berlin.de [libc++] Enable clang-tidy in the CI again (#195047)\n\u003e 2026-06-24 wtranviet@proton.me [libc++] Implement P1885R12: `\u003ctext_encoding\u003e` (#141312)\n\u003e 2026-06-24 scott.linder@amd.com [docs] Create utils/docs (#203962)\n\u003e 2026-06-24 github.snugness349@passinbox.com [libc++][ranges] Applied [[nodiscard]] to `transform_view` (#204014)\n\u003e 2026-06-24 de34@live.cn [libc++] Apply `[[nodiscard]]` to `wstring_convert`, `wbuffer_convert` (#205486)\n\u003e 2026-06-24 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #106832 (#205547)\n\u003e 2026-06-24 nikolasklauser@berlin.de [libc++] Remove \u003cfeatures.h\u003e include from \u003c__config\u003e (#205549)\n\u003e 2026-06-24 nikolasklauser@berlin.de [libc++] Move \u003cfeatures.h\u003e include to \u003c__configuration/platform.h\u003e (#205548)\n\u003e 2026-06-24 nikolasklauser@berlin.de [libc++] Move _LIBCPP_CONCAT{,3} to \u003c__configuration/utility.h\u003e (#205533)\n\u003e 2026-06-24 nikolasklauser@berlin.de [libc++] Move constexpr/explicit macros to \u003c__configuration/language.h\u003e (#205535)\n\u003e 2026-06-24 hghristov.rmm@gmail.com [libc++][ranges] Applied `[[nodiscard]]` to `reverse_view` (#205186)\n\u003e 2026-06-23 hghristov.rmm@gmail.com [libc++][ranges] Backport P2711R1: Making multi-param constructors of views explicit (#190513)\n\u003e 2026-06-23 godexsoft@gmail.com [libc++]  P3798R1: The unexpected in std::expected (#204826)\n\u003e 2026-06-22 hghristov.rmm@gmail.com [libc++][random] Applied `[[nodiscard]]` to `\u003crandom\u003e` (#204970)\n\u003e 2026-06-22 roche@httrack.com [libc++] std::abs support for _BitInt(N) and __int128 (#196532)\n\u003e 2026-06-22 yronglin777@gmail.com [libc++] Implement P4206R0 Revert string support in std::constant_wrapper (#203338)\n\u003e 2026-06-22 ldionne.2@gmail.com [libc++][lnt] Allow retaining build artifacts in run-benchbot (#205146)\n\u003e 2026-06-20 de34@live.cn [libc++][test] Rewrite tests for `std::byte` (#204116)\n\u003e 2026-06-19 hghristov.rmm@gmail.com [libc++][byte] Apply [[nodiscard]] to std::byte (#204674)\n\u003e 2026-06-19 aokblast@FreeBSD.org [libcxx] Make std::pair pretty-printer ABI-independent (#201768)\n\u003e 2026-06-19 nikolasklauser@berlin.de [libc++] Default the allocator argument for most string constructors (#169901)\n\u003e 2026-06-19 tikuta@google.com [libc++] Add a missing include in string.h (#135134)\n\u003e 2026-06-19 vinay_deshmukh@outlook.com [libc++] Make std::multimap constexpr as part of P3372R3 (#161901)\n\u003e 2026-06-19 xavier.roche@algolia.com [libc++][test] Migrate _BitInt probe to __BITINT_MAXWIDTH__ and fix latent test bugs (#203876)\n\u003e 2026-06-18 eiytoq@outlook.com [libc++][mdspan][test] Correct `mapping::operator()` constraint tests (#201061)\n\u003e 2026-06-18 hui.xie1990@gmail.com [libc++] Add missing constant_wrapper in the std module (#202038)\n\u003e 2026-06-18 neuronspectrelin@gmail.com [libc++] Restore release note dropped during rebase of #196495 (#204435)\n\u003e 2026-06-18 ldionne.2@gmail.com [libc++] Add Github issue links in Brno-voted papers (#204579)\n\u003e 2026-06-18 ldionne.2@gmail.com [libc++] Use public os_sync API instead of private __ulock on newer Apple platforms (#202519)\n\u003e 2026-06-17 ldionne.2@gmail.com [libc++] Create issues in batch in libcxx/utils/conformance (#204428)\n\u003e 2026-06-17 ldionne.2@gmail.com [libc++] Document post-WG21-meeting conformance update procedure (#204357)\n\u003e 2026-06-17 ldionne.2@gmail.com [libc++] Add WG21 issues and papers voted in Brno (#204191)\n\u003e 2026-06-17 prabhukr@google.com [libcxx] Configuration option to lower deque block size (#198348)\n\u003e 2026-06-16 hghristov.rmm@gmail.com [libc++][numeric] Applied `[[nodiscard]]` to `\u003cnumeric\u003e` (#202770)\n\u003e 2026-06-16 ych@meta.com [libc++] Strengthen optional value constructor noexcept (#202765)\n\u003e 2026-06-16 hima130602@gmail.com [AIX][libc++] Fix sized_delete.pass.cpp for AIX by adding -fsized-deallocation flag (#199366)\n\u003e 2026-06-15 ldionne.2@gmail.com [libc++] Enable header tests under all configurations (#202543)\n\u003e 2026-06-15 10316270+k3DW@users.noreply.github.com [libc++] Make the body of println(FILE*) dependent on the template parameter to avoid template instantiation (#200996)\n\u003e 2026-06-14 wtranviet@proton.me [libc++][NFC] Simplify `optional\u003cT\u003e` and `optional\u003cT\u0026\u003e` a bit (#203665)\n\u003e 2026-06-13 aidengrossman@google.com [libcxx] Do not mark mkstemp tests xfail for libc (#203681)\n\u003e 2026-06-13 de34@live.cn [libc++] LWG3767: `codecvt\u003ccharN_t, char8_t, mbstate_t\u003e` incorrectly added to locale (#201749)\n\u003e 2026-06-13 wtranviet@proton.me [libc++] Fix bug where `optional\u003cT\u0026\u003e` couldn\u0027t be constructed from `transform()` (#203462)\n\u003e 2026-06-13 de34@live.cn [libc++] P3369R0: constexpr for `uninitialized_default_construct` (#200163)\n\u003e 2026-06-11 wtranviet@proton.me [libc++] Reimplement `optional\u003cT\u0026\u003e` as a partial specialization (#201983)\n\u003e 2026-06-11 ldionne.2@gmail.com [libc++] Hoist \u003ccompare\u003e outside the threads guard in \u003cthread\u003e (#202535)\n\u003e 2026-06-10 nikolasklauser@berlin.de [libc++] Remove _Lazy (#202303)\n\u003e 2026-06-10 nikolasklauser@berlin.de [libc++] Make __is_less_than_compatable a variable template (#202525)\n\u003e 2026-06-10 ldionne.2@gmail.com [libc++] Fill in Apple availability for LLVM 21 (#202347)\n\u003e 2026-06-10 nikolasklauser@berlin.de [libc++] Assume that __array_rank is provided by the compiler (#202511)\n\u003e 2026-06-10 nikita.taranov@clickhouse.com [libc++] Fix exception safety of `__hash_table::__copy_construct` (avoid memory leak) (#201452)\n\u003e 2026-06-09 neuronspectrelin@gmail.com [libcxx] Enrich message for std::bad_variant_access exception (#196495)\n\u003e 2026-06-09 hghristov.rmm@gmail.com [libc++][vector] Test `[[nodiscard]]` applied to `vector::iterator` (#202262)\n\u003e 2026-06-09 hghristov.rmm@gmail.com [libc++][vector] Apply `[[nodiscard]]` to `vector\u003cbool\u003e::iterator` (#202265)\n\u003e 2026-06-09 de34@live.cn [libc++][format] Propagate `m` when formatting range elements (#94562)\n\u003e 2026-06-09 nikolasklauser@berlin.de [libc++] Simplify some meta programming in \u003cvariant\u003e (#201538)\n\u003e 2026-06-09 nikolasklauser@berlin.de [libc++] Make __can_dynamic_cast a variable template (#202297)\n\u003e 2026-06-09 79003240+Himadhith@users.noreply.github.com [AIX][libc++] Mark offset_range test UNSUPPORTED on 32-bit AIX due to 32-bit off_t (#200861)\n\u003e 2026-06-09 hehiralbi@gmail.com [libc++] Finish converting __wrap_iter::operator\u003c,\u003d\u003d to C++20 (#193287)\n\u003e 2026-06-09 eiytoq@outlook.com [libc++][span][test] Various cleanups for \u003cspan\u003e tests (#202319)\n\u003e 2026-06-09 aidengrossman@google.com [libcxx] Bump Github runner image version (#202470)\n\u003e 2026-06-08 nikolasklauser@berlin.de [libc++] Remove \u003catomic\u003e includes from \u003cstop_token\u003e (#201710)\n\u003e 2026-06-07 hghristov.rmm@gmail.com [libc++][string_view] Test [[nodiscard]] applied to `basic_string_view::const_iterator` (#202203)\n\u003e 2026-06-07 hghristov.rmm@gmail.com [libc++][string] Test [[nodiscard]] applied to `basic_string::iterator` (#202202)\n\u003e 2026-06-07 hghristov.rmm@gmail.com [libc++][span] Test `[[nodiscard]]` applied to `span::iterator` (#202068)\n\u003e 2026-06-07 hghristov.rmm@gmail.com [libc++][array] Test `[[nodicard]]`  with `array::const_iterator` (#202070)\n\u003e 2026-06-06 nikolasklauser@berlin.de [libc++] Assume that \u003catomic\u003e is available (#199674)\n\u003e 2026-06-05 nikolasklauser@berlin.de [libc++][NFC] Simplify duration comparisons a bit (#201788)\n\u003e 2026-06-05 nikolasklauser@berlin.de [libc++] Drop transitive includes by default (#195509)\n\u003e 2026-06-04 nikolasklauser@berlin.de [libc++] Remove ios_base::__xindex_ from the ABI (#198994)\n\u003e 2026-06-04 ldionne.2@gmail.com [libc++] Suppress deprecation warning around wstring_convert::to_bytes (#201633)\n\u003e 2026-06-04 ldionne.2@gmail.com [libc++] Fix constraint recursion in std::expected\u0027s operator\u003d\u003d (#201455)\n\u003e 2026-06-04 nikolasklauser@berlin.de [libc++] Simplify unique_ptr constructor SFINAE (#201305)\n\u003e\n\u003e If this roll has caused a breakage, revert this CL and stop the roller\n\u003e using the controls here:\n\u003e https://autoroll.skia.org/r/libcxx-chromium\n\u003e Please CC hans@chromium.org,thakis@chromium.org on the revert to ensure that a human\n\u003e is aware of the problem.\n\u003e\n\u003e To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\u003e\n\u003e To report a problem with the AutoRoller itself, please file a bug:\n\u003e https://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\u003e\n\u003e Documentation for the AutoRoller is here:\n\u003e https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\u003e\n\u003e Binary-Size: See commit description.\n\u003e No-Presubmit: true\n\u003e Fuchsia-Binary-Size: See commit description.\n\u003e Bug: 538634417, 503250165, 534049474, 540885995\n\u003e Cq-Include-Trybots: luci.chromium.try:android-cast-arm-rel\n\u003e Change-Id: Ifa850dc0e35122418fd35c0e5eb00b3c9eb4628e\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8177064\n\u003e Commit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\n\u003e Reviewed-by: Thomas Anderson \u003cthomasanderson@chromium.org\u003e\n\u003e Reviewed-by: Arthur Eubanks \u003caeubanks@google.com\u003e\n\u003e Owners-Override: Nico Weber \u003cthakis@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1674581}\n\nBug: 538634417, 503250165, 534049474, 540885995, 543284179\nCq-Include-Trybots: luci.chromium.try:android-cast-arm-rel\nCq-Include-Trybots: luci.chromium.try:linux_chromium_cfi_rel_ng\nBinary-Size: See commit description.\nNo-Presubmit: true\nFuchsia-Binary-Size: See commit description.\nChange-Id: I64aded0aa8263cf3d12d836eb3b397401b480b63\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8218308\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\nOwners-Override: Nico Weber \u003cthakis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1677117}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ad30fc343e6d2570881c18203691e9bbe7d5b0d0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b00fa2df24319d096cf9f7a7013442deeb04a5ad",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg.def",
      "new_id": "9d8804acaa9ce4aa4a809c6aa50a87224778ee33",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "8b34ea2f5ebd71df4d5f6feb7aef3768167cb1e5",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg_cxx23.def",
      "new_id": "6810cf4332e37523296135e60e6e8602eec3a289",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "2c6c80fbe1044e891314387840e24683f75fbf0b",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel.def",
      "new_id": "377cd5ffa2d8b81c921d5abd98b136f1f654b319",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "fd09810a7adfdebdd661d6b40e468c8767b1de67",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel_cxx23.def",
      "new_id": "bb1dbdd28528050cb650dbc89cb4d759783db0e9",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "fcb0a20e5bd7bf2532e4f11b2f973933c25da6c4",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg.def",
      "new_id": "2f3daa07e0534e645cbdd695dd86dbeb837efb97",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "a56201d05bbc17fe3281b886def156c46cab2e03",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg_cxx23.def",
      "new_id": "e81f0b4e92eae398e5ba6b5f4b42ef31ed5d3ccc",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "9caedf5500ad30a119cd1fe432fa1169ccbae0f3",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel.def",
      "new_id": "b2ea1bad851c4016226ad9a9b79771280cf0ac48",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "5563b3a5a7b6e3013385381062f7975d6ddb7881",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan.def",
      "new_id": "2b1810deb5128a1bc1359698316fef18f3ac7836",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan.def"
    },
    {
      "type": "modify",
      "old_id": "fd79540fbfa140c8781129e11176fa4a78c8c023",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan_cxx23.def",
      "new_id": "b0940162ba7d5cc012ed8c042b61c3a9e4ce834b",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "c1859c4b906471343dc1c0b06a024295f342ddce",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_cxx23.def",
      "new_id": "a78bf3aaf1ba92d150002e9634acf56542dd1bcb",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "f1ebe91b4b9227c2a29914661833a94a9d1f9df7",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg.def",
      "new_id": "7a8428fcec05394e010d5ffea3be48bfc4b7d298",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "2354bfee74f58bd0cd828cf016a785b07284989d",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg_cxx23.def",
      "new_id": "50db8e277f5b71cac119bddeca100aaacfa9eb1c",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "5ff38d6355c84e317073cc181c10634c86939472",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel.def",
      "new_id": "e7b51959db6cedced47bb18b10bb4a11cd28180a",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel.def"
    },
    {
      "type": "modify",
      "old_id": "c7a0dd61a18ab33f12155b7797e273d9a06918bf",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel_cxx23.def",
      "new_id": "de8f3d6bd9e0d3e64d3c2bc330dfd86b16ba5fb5",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel_cxx23.def"
    }
  ]
}
