)]}'
{
  "commit": "9a0a43cbad88a77703bd73093011a62bbe0a6740",
  "tree": "232a3e85133bdaca1b2632000a4e2fcf0ee554e1",
  "parents": [
    "d16c47e0434ffac0d2b54288fab4804bdab1101c"
  ],
  "author": {
    "name": "Liza",
    "email": "liza@chromium.org",
    "time": "Thu Oct 22 13:32:16 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Oct 22 13:40:44 2026 -0700"
  },
  "message": "Roll libc++ from 97b436da4c33 to 9ba7713d3a0f (88 revisions)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/97b436da4c33..9ba7713d3a0f\n\n- This change also modifies base/threading/platform_thread_apple.mm.\nIt extracts the default `constexpr` constants and marks some\nglobals as `constinit`. This is now necessary due to #76180 causing\n`std::atomic\u003cTimeConstraints\u003e` to emit a static initializer on\nmac-rel.\n\n2026-07-31 ldionne.2@gmail.com [libc++] Add an assertion for monotonic_buffer_resource\u0027s initial_size (#213136)\n2026-07-31 ldionne.2@gmail.com [libc++] Fix dangling reference in the associative container benchmarks (#213139)\n2026-07-31 ldionne.2@gmail.com [libc++] Actually partially populate the container in a benchmark (#213146)\n2026-07-31 mike.kazakov@gmail.com [libc++][NFC] Make size_t -\u003e int conversions explicit in a few PSTL tests (#213145)\n2026-07-31 nikolasklauser@berlin.de [libc++abi] Add a clang-tidy config and test (#207324)\n2026-07-31 nikolasklauser@berlin.de [libc++] Simplify clear_padding.h a bit (#212426)\n2026-07-31 nikolasklauser@berlin.de [libc++] Make __has_array_cookie a variable template (#212767)\n2026-07-31 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::lexicographical_compare() based on std::mismatch() (#212366)\n2026-07-30 zibi@ca.ibm.com [libc++] Fix difference_type expectations in range adaptor iterator member_types tests (#201853)\n2026-07-30 kevinwkt@google.com [libc++] Fix std::mt19937 seeding with std::seed_seq under vectorized ABI (#209860)\n2026-07-30 hghristov.rmm@gmail.com [libc++][ranges] P3059R2: Making user-defined constructors of view iterators/sentinels private (#193891)\n2026-07-30 nikolasklauser@berlin.de [libc++] Fix exception_fallback.ipp not compiling (#212961)\n2026-07-30 nikolasklauser@berlin.de [libc++] Switch XFAIL in xsgetn.buffer.pass.cpp to LLVM 23 (#212969)\n2026-07-30 nikolasklauser@berlin.de [libc++abi] Use the same .clang-format as libc++ (#208661)\n2026-07-30 nikolasklauser@berlin.de [libc++] Clean up windows macros (#207577)\n2026-07-30 ldionne.2@gmail.com [libc++] Fix incorrect paper statuses (#212827)\n2026-07-30 nikolasklauser@berlin.de [libc++][NFC] Rename the streambuf members (#212277)\n2026-07-30 nikolasklauser@berlin.de [libc++] Move numpunct into \u003c__locale_dir/num.h\u003e (#212465)\n2026-07-30 nikolasklauser@berlin.de [libc++] Remove SFINAE checks in tuple which are always true (#212765)\n2026-07-29 wtranviet@proton.me [libc++] Granularize `\u003coptional\u003e` (#206644)\n2026-07-29 higher.performance.github@gmail.com Speed up compilation of typical invocations of std::visit(std::variant\u003c...\u003e) for up to 11 types (#164196)\n2026-07-29 github.snugness349@passinbox.com [libc++][math] Add missing `constexpr since C++23` comment for `signbit` (#212458)\n2026-07-29 mike.kazakov@gmail.com [libc++][pstl] Implementation of a parallel std::adjacent_find() based on std::mismatch() (#210604)\n2026-07-29 nikolasklauser@berlin.de [libc++][NFC] Clean up atomic_support.h (#212464)\n2026-07-29 hui.xie1990@gmail.com [libc++][test][NFC] remove old UNSUPPORTED clang from clear_padding.pass.cpp (#212690)\n2026-07-29 vyordangiovani@gmail.com [libc++] Mark LWG3133 as Complete and add valarray operator[] safety tests (#208145)\n2026-07-28 ldionne.2@gmail.com [libc++] Reduce sequence container benchmark size ladder (#212281)\n2026-07-28 ldionne.2@gmail.com [libc++] Drop char8_t instantiation from string benchmarks (#212283)\n2026-07-28 ldionne.2@gmail.com [libc++] Defer removal of two escape hatches to LLVM 25 (#211553)\n2026-07-28 github.snugness349@passinbox.com [libc++][math] Add `constexpr` to comparison functions (#210075)\n2026-07-28 hghristov.rmm@gmail.com [libc++][optional][NFC] Use variable templates instead of class templates (#212443)\n2026-07-28 nikolasklauser@berlin.de [libc++] Fix ungetc failing after xsgetn (#210951)\n2026-07-28 de34@live.cn [libc++][test] Suppress warning on bitwise shift with `bool` operands in `std::byte` tests for MSVC (#212433)\n2026-07-28 de34@live.cn [libc++][test][NFC] Format `test_macros.h` (#212442)\n2026-07-28 de34@live.cn [libc++][test] Disable test coverage for `_BitInt` for non-libc++ implementations (#212435)\n2026-07-28 nikolasklauser@berlin.de [libc++] Simplify some meta-programming in tuple (#212436)\n2026-07-28 hui.xie1990@gmail.com [libc++] Implement P0528R3 `std::atomic` CAS for types with padding (#76180)\n2026-07-27 ldionne.2@gmail.com [libc++] Rename the test suite used on LNT (#212347)\n2026-07-27 hui.xie1990@gmail.com [libc++][test] re-enable clear padding runtime test (#211258)\n2026-07-27 ldionne.2@gmail.com [libc++] Add benchmark for std::nth_element (#210112)\n2026-07-27 ldionne.2@gmail.com [libc++] Add benchmarks for std::min_element, std::max_element and std::ranges::max (#209590)\n2026-07-27 ldionne.2@gmail.com [libc++] Add benchmarks for std::next_permutation and std::prev_permutation (#210966)\n2026-07-27 nikolasklauser@berlin.de [libc++][NFC] Use [[deprecated]] for __grow_by (#209126)\n2026-07-27 wtranviet@proton.me [libc++] Inline `text_encoding` alias offset table std::count to 884 (#207471)\n2026-07-27 nikolasklauser@berlin.de [libc++] Remove locale::id::__next_id from the ABI (#210360)\n2026-07-27 aviipatel06@gmail.com [libc++] Implement P1901R2: owner_hash and owner_equal for shared_ptr/weak_ptr (#210551)\n2026-07-26 thakis@chromium.org [libc++] Removing traiilng whitespace at line end in CMakeLists.txt (#212135)\n2026-07-27 emmettzhang2020@outlook.com [libc++][chrono] Implement LWG 4274: Allow chrono::hh_mm_ss to be constructed from unsigned durations (#209686)\n2026-07-26 nikolasklauser@berlin.de [libc++][NFC] Inline fstream functions into the class body (#211738)\n2026-07-26 mike.kazakov@gmail.com [libc++][pstl] Implementation of a parallel std::mismatch() based on __pstl::__parallel_find() (#209291)\n2026-07-26 github.snugness349@passinbox.com [libc++][math] Add `constexpr` to `std::fpclassify` (#210993)\n2026-07-25 hui.xie1990@gmail.com [libc++] Implement  `std::function_ref` (#186692)\n2026-07-24 ldionne.2@gmail.com [libc++] Rename pre-commit CI workflows (#211844)\n2026-07-24 ldionne.2@gmail.com [libc++][CI] Add a Github workflow to test libc++ tools (#211067)\n2026-07-23 ldionne.2@gmail.com [libc++] Pin down the compiler in the various benchmark scripts and jobs (#211563)\n2026-07-23 ldionne.2@gmail.com [libc++] Implement any_of in terms of find_if (#207274)\n2026-07-23 ldionne.2@gmail.com [libc++] Remove workaround for Clang \u003c 20 in clang-tidy plugin (#211314)\n2026-07-23 ldionne.2@gmail.com [libc++] Update release procedure for libc++ \u0026 friends (#210383)\n2026-07-23 nikolasklauser@berlin.de [libc++] Remove some adjacent_view::begin() benchmarks (#210265)\n2026-07-23 nikolasklauser@berlin.de [libc++] Optimize standard streams with sync_with_stdio(false) (#209161)\n2026-07-22 hghristov.rmm@gmail.com [libc++][NFC] Format and move `transform_view`\u0027s `sentinel.pass.cpp` (#211252)\n2026-07-22 ldionne.2@gmail.com [runtimes] LLVM 24 version bumps (#211262)\n2026-07-22 nikolasklauser@berlin.de [libc++] Don\u0027t add #pragma clang attribute with GCC (#206989)\n2026-07-22 nikolasklauser@berlin.de [libc++] Remove redundant benchmarks for lexicographical_compare_three_way (#210268)\n2026-07-22 vvereschaka@accesssoftek.com Revert \"[libc++][test] XFAIL `text/text_encoding/environment.pass.cpp` test on Armv7/Linux Ubuntu targets.\" (#211112)\n2026-07-22 nikolasklauser@berlin.de [libc++] Remove {Pause,Resume}Timing from fast push_back benchmarks (#209130)\n2026-07-21 dkovalev@accesssoftek.com [PAC][libc++] Fix build with `ptrauth_calls` feature (#211033)\n2026-07-21 github.snugness349@passinbox.com [libc++][ranges] Mark LWG3664 as resolved (#210550)\n2026-07-21 ldionne.2@gmail.com [libc++] Don\u0027t require complete types in vector\u003cT\u003e::empty() (#210754)\n2026-07-21 ldionne.2@gmail.com [libc++] Fix test-at-commit after df4bb1f3106d (#210983)\n2026-07-21 mike.kazakov@gmail.com [libc++][pstl] Default implementation of parallel std::adjacent_difference (#207585)\n2026-07-21 c8ef@outlook.com [libc++] Implement P0493R5: Atomic minimum/maximum (#180333)\n2026-07-21 mike.kazakov@gmail.com [libc++] Strip cv-refs in __desugars_to specialization for integral types (#208950)\n2026-07-21 h.vetinari@gmx.com [libc++][NFC] Re-order availability mapping to `_LIBCPP_INTRODUCED_IN_LLVM_{N}` (#210694)\n2026-07-21 ldionne.2@gmail.com [libc++] Compose the test suite Lit site config from harness and installation substitutions (#209638)\n2026-07-21 ldionne.2@gmail.com [libc++][NFC] Fix synopsis comment for error_condition::message() (#210724)\n2026-07-21 ldionne.2@gmail.com [libc++] Include sizes in string benchmark names (#210795)\n2026-07-20 hghristov.rmm@gmail.com [libc++][ranges][NFC] Format a couple of `elements_view` tests (#210687)\n2026-07-21 de34@live.cn [libc++][docs] Avoid talking about other implementations on DR status (#210637)\n2026-07-20 ldionne.2@gmail.com [libc++] Bring std::{any,all,none}_of tests up to current standards (#209266)\n2026-07-20 hubert.reinterpretcast@gmail.com [libc++][utils] Fix LIT `%if` substitution support (#209358)\n2026-07-20 thurston@google.com [libc++][test] Fix build failure from typo in #171785 (#210552)\n2026-07-20 hghristov.rmm@gmail.com [libc++][test][NFC] Removed unsupported compilers from tests (#210413)\n2026-07-20 hghristov.rmm@gmail.com [libc++][NFC] Removed duplicated `_LIBCPP_INTRODUCED_IN_LLVM_23` macros (#210602)\n2026-07-20 hghristov.rmm@gmail.com [libc++][ranges][NFC] Format `lazy_split_view` (#210644)\n2026-07-20 nikolasklauser@berlin.de Reapply \"[libc++][NFC] Inline std::function members into the class body\" (#209555) (#210260)\n2026-07-20 de34@live.cn [libc++] Add tests for LWG3798 and mark it as Complete (#210640)\n2026-07-20 hghristov.rmm@gmail.com [libc++][cmp][NFC] Fix: Empty namespaces should be avoided (#210624)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/libcxx-chromium\nPlease CC hans@chromium.org,thakis@chromium.org on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I7b77dfc70c8f7018987e08ba18d8d5f6ed402526\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8581765\nCommit-Queue: Liza Burakova \u003cliza@chromium.org\u003e\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nReviewed-by: Alexei Svitkine \u003casvitkine@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1725118}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fb80ea1e4cdf5a1c2133ae9afb1c7db445612854\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "76952eb95001b8134767a892aff5bfaac71c38a7",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg.def",
      "new_id": "54f79d05644629e16081062896a33cf6c01876a9",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "0d6ec3db2d37f1027966311107ae5f6af3cc3ec7",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg_cxx23.def",
      "new_id": "669d332e57f3061e3ae3b42d896bcda7ca7d9dec",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "98d2720bc617413feb055ee007f80cbca516648b",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel.def",
      "new_id": "fc40f3fbfadc9e9ba37604cbf2c471475261f205",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "cd6c6406b445080ca570d458b9cfb6f545bb3e90",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel_cxx23.def",
      "new_id": "0caf4f54d55b2dfedd24cd26c4b2d1d1ce169a3c",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "83c24b900e787c9eddaee2b12bbcffab12f346ac",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg.def",
      "new_id": "05189254baaa8d843efd7f397e7352c7e8490595",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "b7447d173202c8da25364b336edd8e1e811c1089",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg_cxx23.def",
      "new_id": "696898eb5516dbbfcb73cbc61887db5d66757308",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "376476460fc290c2f474785428fab3404a0c4150",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel.def",
      "new_id": "0df77f6623666b7f6fefba930474fa1fafdb65bf",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "8783f192558a5a33b16e1105e7b116d886a0566a",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan.def",
      "new_id": "1fe19acce6f62be9d834fe186a20a414196f85e3",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan.def"
    },
    {
      "type": "modify",
      "old_id": "a0b3b5c33edb98cb9bed9f67905eb88af21b25bd",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan_cxx23.def",
      "new_id": "956a33d5206e34d0e9bba59984be97a20c711474",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "72b2bdd34aa7fed1111ef0e30c01ce8080a5b515",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_cxx23.def",
      "new_id": "ab838b3b755fab95d22409f8a5ae6b8944a6f824",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "7edc5bdbe68f890c590f2ed639912442eb3dea29",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg.def",
      "new_id": "fda898510b76f26a935e5bcb884c27c0e670f723",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "bb9b4e227436c87a843c6201a281ff14dff39519",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg_cxx23.def",
      "new_id": "c6b740389db17587b1ff9d33cc6fe4928eb08883",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "baf593749446c8fa31eff96a1e734a7e09d9e92c",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel.def",
      "new_id": "9ccdf3f5609a22112cc31bc68155aa37e41cf91b",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel.def"
    },
    {
      "type": "modify",
      "old_id": "5222fbc94d386273f8f3c1ba58714611b3b7971c",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel_cxx23.def",
      "new_id": "4f591baba7273dff378f5cdde3d5e55c8c81e121",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel_cxx23.def"
    }
  ]
}
