)]}'
{
  "commit": "21b7b2e6f4c3e9b46b38d8e9017b0e69bb2d92f8",
  "tree": "19ee95b98f96e4223db0e9c068b289e5cc8d4d82",
  "parents": [
    "a4c737fe1d9ac49b0476172f1edbfd000f0bb6dc"
  ],
  "author": {
    "name": "Hayato Ito",
    "email": "hayato@chromium.org",
    "time": "Wed Aug 05 20:15:20 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Aug 05 20:19:15 2026 -0700"
  },
  "message": "Revert \"Roll libc++ from b16984ce99c7 to 97b436da4c33 (215 revisions)\"\n\nThis reverts commit f25e1b6e8f70fad3d0bed260a1a9838da2878a83\n\nReason for revert: Tree close due to the build failures\n\nFailure Link: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20CFI/32553/overview\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\nCq-Include-Trybots: luci.chromium.try:android-cast-arm-rel\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I278f978fed5b50739acbc095e03e46b52b04a1eb\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8210099\nAuto-Submit: Hayato Ito \u003chayato@chromium.org\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Hayato Ito \u003chayato@chromium.org\u003e\nCommit-Queue: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1674688}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d9d87b2d3fbcc7d42e13e4700cc207750e9c44be\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fca8ad81961dcb258e30239547e20a217c375da8",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg.def",
      "new_id": "6600de74f2c27afa1fd0b9c93cd4d51d3c4370e5",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "51d53f58133c46ba817e7f40c8c2f96a8a0b1741",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg_cxx23.def",
      "new_id": "e623ff01cdbdb7020c0dd87e73a5c292a9dc4cd8",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "c61d78a542b73388e36a3b5c74f59622cc070ce3",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel.def",
      "new_id": "408a5f352e3bbd21184c5108877eac345db5d2dd",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "20c349e4859ace7dc92db2c36188f2a756549a00",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel_cxx23.def",
      "new_id": "03f5f3ee1c322c019838fd51ee25aff0dc836143",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "7f816c48b34e977ec57a929519211e08071d4fa0",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg.def",
      "new_id": "2bfe71b75578bb7cfcb7f1cc2f789e326a49d4d2",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "ecf46b6d9c5d0c14bec37d56abb2c38d6d03f037",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg_cxx23.def",
      "new_id": "297e9022e5745f3566defab06ba2162727ea72fe",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "fbb9c6ec2c493b2a065f4313adeeed021353486a",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel.def",
      "new_id": "96743d150e45ed378611ef9a17fe7ae04ed177f6",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "d70bd7a122a2cc8f33b0995bb570592781795739",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan.def",
      "new_id": "3acb20d6df5fef4b45c2e1d242723a64ff7ff7d4",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan.def"
    },
    {
      "type": "modify",
      "old_id": "b2a4ebed8d064edd740908dbb9c42c561e739280",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan_cxx23.def",
      "new_id": "bc011d31c68d5a58fb90f13327db45d8497534f6",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "08dca9f55171b5d059c537bc8725409815f36b35",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_cxx23.def",
      "new_id": "b4a8135b94ac7bfff6f12c381d7918fcb6de4851",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "37920d9963e39d913bd947c603e8a0ba94a6f406",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg.def",
      "new_id": "3b382446b83af2c1f372db8ab5954a8b0095f421",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "41837108d1792484153bc1efc702e65ddb81eeab",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg_cxx23.def",
      "new_id": "7c78038a676e87da474bef30f8de5459dea78157",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "20eaf516b6ad764f0c9f296f103ad01f4b7cf343",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel.def",
      "new_id": "d1df82749a743b95914b291be1846a85c40d9ae4",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel.def"
    },
    {
      "type": "modify",
      "old_id": "48d299ceb7d5083e902c21eb81444e6267837b84",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel_cxx23.def",
      "new_id": "4ebbead0120d6a0513f67ac87502f444387c5172",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel_cxx23.def"
    }
  ]
}
