)]}'
{
  "commit": "88f6126f3dc8848ddf7901b6df3f741dc0a1f2c2",
  "tree": "c857abbfa100bd4166eadd135c281170c48bb219",
  "parents": [
    "d8e483edd8b44da1845874ee84b42489589bb90f"
  ],
  "author": {
    "name": "Liza Burakova",
    "email": "liza@chromium.org",
    "time": "Thu Jul 09 12:42:23 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jul 09 12:44:47 2026 -0700"
  },
  "message": "Roll libc++ from 5abc7f839700 to b16984ce99c7 (84 revisions)\n\nThis CL also includes the following fixes for the roll:\n- Remove redundent dereference call to fix new [nodiscard] error\n- Add suppresions for pragma-clang-attribute and ignored-attribute\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/5abc7f839700..b16984ce99c7\n\n2026-06-03 ovatonne@gmail.com [libc++][tests] Add missing strong exception guarantee test coverage in forward_list (#200666)\n2026-06-03 de34@live.cn [libc++][locale] Applied `[[nodiscard]]` (#200726)\n2026-06-03 eiytoq@outlook.com [libc++][span] LWG4243: `as_bytes`/`as_writable_bytes` is broken with `span\u003cvolatile T\u003e` (#200993)\n2026-06-03 de34@live.cn [libc++][test] Make narrowing in `nasty_char_traits::to_char_type` more explicit (#138375)\n2026-06-03 xavier.roche@algolia.com [libc++] Reject cv-qualified types in __is_signed/unsigned_integer_v (#200377)\n2026-06-03 vinay_deshmukh@outlook.com [libc++] Make `\u003cmap\u003e` `std::map` constexpr as part of P3372R3 (#134330)\n2026-06-02 michaelbuch12@gmail.com [clang] Treat unnamed bitfields as padding in `__builtin_clear_padding` (#201102)\n2026-06-02 de34@live.cn [libc++] Apply `[[nodiscard]]` to `unique_lock` and `\u003cshared_mutex\u003e` (#200986)\n2026-06-01 de34@live.cn [libc++][type_traits] Applied `[[nodiscard]]` (#200760)\n2026-06-01 hghristov.rmm@gmail.com [libc++] Applied `[[nodiscard]]` to `optional::iterator` (#198489)\n2026-05-30 nhat7203@gmail.com [libc++][ranges] P2542R8: Implement `views::concat` (#120920)\n2026-05-30 xavier.roche@algolia.com [libc++] std::byteswap support for _BitInt(N) (#196512)\n2026-05-29 brad@comstyle.com Update Google Benchmark to v1.9.5 (#198964)\n2026-05-29 nikolasklauser@berlin.de [libc++][NFC] Move functions in shared_ptr.h into the class body (#200343)\n2026-05-29 nikolasklauser@berlin.de [libc++] Only push/pop diagnostics for ABI annotations pragmas if not in a system header (#200338)\n2026-05-29 nikolasklauser@berlin.de [libc++] Use variable templates instead of class templates in shared_ptr.h (#199481)\n2026-05-28 hghristov.rmm@gmail.com [libc++] Applied `[[nodiscard]]` to `array::iterator` (#198492)\n2026-05-28 nikolasklauser@berlin.de [libc++] Fix multi{map,set}::extract not returning the first matching element (#199703)\n2026-05-28 nikolasklauser@berlin.de [libc++] Simplify the implementation of conditional a bit (#199916)\n2026-05-28 wtranviet@proton.me [libc++] Implement P3508R0: Wording for \"constexpr for specialized memory algorithms\" (#197313)\n2026-05-27 nikolasklauser@berlin.de [libc++] Update the base image hash to get GCC 16 (#199882)\n2026-05-27 mlevine55@bloomberg.net [libc++] Add __is_transparently_comparable_v optimizations for set, multiset, and multimap functions [Issue 187105] (#189735)\n2026-05-27 paulkirth@google.com Add missing annotations for Apple platforms (#198864)\n2026-05-27 nikolasklauser@berlin.de [libc++][C++03] Fix array/size_and_alignment.compile.pass.cpp (#198822)\n2026-05-27 nikolasklauser@berlin.de [libc++] Remove workarounds for __{add,remove}_pointer on AppleClang (#199821)\n2026-05-27 nikolasklauser@berlin.de [libc++][NFC] Remove lit annotations for older AppleClang versions (#199817)\n2026-05-27 hui.xie1990@gmail.com [clang] Add builtin to clear padding bytes (prework for P0528R3) (#75371)\n2026-05-27 nikolasklauser@berlin.de [libc++] Update the GCC head version to 17 (#199823)\n2026-05-26 nikolasklauser@berlin.de [libc++] Mark string.capacity/over_max_size.pass.cpp as UNSUPPORTED on old dylibs (#199682)\n2026-05-26 nikolasklauser@berlin.de [libc++] Use __in_out_result in the remaining appropriate algorithms (#198156)\n2026-05-26 nikolasklauser@berlin.de [libc++] Address most LLVM23 TODOs (#199397)\n2026-05-25 mizvekov@gmail.com [libc++] remove duplicate assertions for void/reference const any_cast (#199425)\n2026-05-25 nikolasklauser@berlin.de [libc++] Fix shared_ptr(Y*) constraint check on GCC (#199429)\n2026-05-24 de34@live.cn [libc++][test] Move backported algorithms to `libcxx/test/support` (#199431)\n2026-05-24 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #147007 (#198991)\n2026-05-24 nikolasklauser@berlin.de [libc++] Remove AppleClang woraround for __builtin_verbose_trap (#199171)\n2026-05-23 de34@live.cn [libc++][test] Merge test files for `mdspan::at` (#199330)\n2026-05-23 de34@live.cn [libc++][test] Make `copy_move_types.h` usable in old modes (#199183)\n2026-05-23 de34@live.cn [libc++][test] Add backported `destroy({_at,_n})` for tests (#199185)\n2026-05-22 eiytoq@outlook.com [libc++][mdspan] P3383R3: `mdspan.at()` (#175213)\n2026-05-22 nikolasklauser@berlin.de [libc++][NFC] Remove incorrect TODO about deprecating mem_fn (#199172)\n2026-05-21 hghristov.rmm@gmail.com [libc++][iterator] Applied `[[nodiscard]]` (#172200)\n2026-05-21 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #166690 (#198977)\n2026-05-21 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #166724 (#198839)\n2026-05-20 vonosmas@gmail.com [libc++] Add support for thread-id handling for llvm-libc. (#198595)\n2026-05-20 ych@meta.com [libc++] Require the exact assignment expression to be trivial in __uninitialized_allocator_copy_impl (#196648)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #165619 (#198829)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #131754 (#198827)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Fix string.view/char.bad.verify.cpp (#198824)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #129542 (#198826)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Fix copy_backward.pass.cpp and equal.pass.cpp (#198812)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #110235 (#198805)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #115271 (#198804)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Back-port #188714 (#198798)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Remove contiguous_iterators.verify.cpp (#198816)\n2026-05-20 nikolasklauser@berlin.de [libc++] Simplify the implementation of to_address a bit (#198256)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick tests from #154559 (#198736)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #161049 (#198735)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #130573 (#198734)\n2026-05-20 nikolasklauser@berlin.de [libc++][C++03] Cherry-pick #117497 and #154078 (#198731)\n2026-05-20 eiytoq@outlook.com [libc++] Refactor `std::midpoint` tests and add constraint checks (#175388)\n2026-05-19 nikolasklauser@berlin.de [libc++] Port The OpenBSD localization to the new locale API (#194317)\n2026-05-19 hghristov.rmm@gmail.com [libc++][ranges] `ranges::iota_view` update tests with `__int128` (#175447)\n2026-05-19 eiytoq@outlook.com [libc++][mdspan][NFC] Simplify `std::extents` implementation (#196819)\n2026-05-18 nikolasklauser@berlin.de [libc++] Revert changes to locale_base_api.h accidentally committed in f5b6e4f (#198413)\n2026-05-18 eiytoq@outlook.com [libc++][mdspan] Add missing `std::move` in `std::extents` (#196574)\n2026-05-17 nikolasklauser@berlin.de [libc++] Introduce a private version of in_out_result and use it for copy/move algorithms (#198086)\n2026-05-15 nikolasklauser@berlin.de [libc++] Replace __is_primary_template with a concept (#197646)\n2026-05-15 74773920+danielcm585@users.noreply.github.com [libc++][ranges] Fix missing `forward` in `views::enumerate` (#197635)\n2026-05-15 eiytoq@outlook.com [libc++] LWG4266: `layout_stride::mapping` should treat empty mappings as exhaustive (#191629)\n2026-05-15 eiytoq@outlook.com [libc++][mdspan] Refactor bounds checking in `std::extents` (#197001)\n2026-05-14 nikolasklauser@berlin.de [libc++] Replace ranges::find_first_of with std::find_first_of in __try_constant_folding (#197641)\n2026-05-13 c8ef@outlook.com [libc++] Remove empty csvgb file. (#196939)\n2026-05-11 c8ef@outlook.com [libc++] Implement `ranges::fold_right_last` (completes P2322R6) (#195580)\n2026-05-10 aidengrossman@google.com [libcxx] Switch to check-runtimes for generic-llvm-libc (#196780)\n2026-05-09 de34@live.cn [libc++] LWG4324: `unique_ptr\u003cvoid\u003e::operator*` is not SFINAE-friendly (#190919)\n2026-05-08 nikolasklauser@berlin.de [libc++] Remove _LIBCPP_HIDE_FROM_ABI from \u003c__utility/pair.h\u003e (#196508)\n2026-05-08 nikolasklauser@berlin.de [libc++] Introduce implicit and explicit ABI annotations (#193045)\n2026-05-08 xavier.roche@algolia.com [libc++] Recognize _BitInt(N) as signed/unsigned integer type (#185027)\n2026-05-08 eiytoq@outlook.com [libc++][mdspan] LWG3974: `mdspan::operator[]` should not copy `OtherIndexTypes` (#195814)\n2026-05-08 jun930436@gmail.com [libc++][NFC] Mark LWG3884 as complete in C++26 issues status (#195819)\n2026-05-07 aidengrossman@google.com [libcxx] Remove _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS (#196141)\n2026-05-07 nikolasklauser@berlin.de [libc++][NFC] Remove unused #define (#195831)\n2026-05-06 hghristov.rmm@gmail.com [libc++][utility] Test `[[nodiscard]] std::exchange` (#195807)\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\nTbr: hans@chromium.org,thakis@chromium.org\nBug: 503250165\nChange-Id: I10d21cedd9a6d0c1c44ac18ab0a4a8bac3aafbb3\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8018911\nReviewed-by: Marlon Facey \u003cmfacey@chromium.org\u003e\nCommit-Queue: Liza Burakova \u003cliza@chromium.org\u003e\nReviewed-by: Hans Wennborg \u003chans@chromium.org\u003e\nReviewed-by: Danil Chapovalov \u003cdanilchap@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1659778}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b6f75a2ff62a38d798452c42a89f50d9b49e1fd0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4d94df0cc24cd0a4f0101031a563662f122c2dc7",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg.def",
      "new_id": "aa1db24d9fdab30850c2a46d4753cf4db2ad5930",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "fd83f8d4155ce3c22cce7e60ac6b5a2ed5f0a1de",
      "old_mode": 33188,
      "old_path": "symbols_arm64_dbg_cxx23.def",
      "new_id": "574207cc9fa1884a58e70b76fe4c4029e0fd1c25",
      "new_mode": 33188,
      "new_path": "symbols_arm64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "49d97e3b626b12d9741fff70c3f599447f138cfd",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel.def",
      "new_id": "9f5973819315cc38dd3fc40010760bb318912187",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "d05c05c4b52edd642780374362e0a5f328176a55",
      "old_mode": 33188,
      "old_path": "symbols_arm64_rel_cxx23.def",
      "new_id": "c1ad1149285477bc17e2e89948e40936db369046",
      "new_mode": 33188,
      "new_path": "symbols_arm64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "fc106221797c5ed1e1e276f44d0bb7bb97287aaf",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg.def",
      "new_id": "c54a27bd771b504c7b721bba594e9e889186eb41",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "df8a09b717ec001cccb7b302033fa69af3048118",
      "old_mode": 33188,
      "old_path": "symbols_x64_dbg_cxx23.def",
      "new_id": "21f0382090436d05709bbb040d00cf831949f664",
      "new_mode": 33188,
      "new_path": "symbols_x64_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "ac40ef55c9fa07754118e63d5fa35627f10a9324",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel.def",
      "new_id": "89803c1bd1da733f55e7413b91db8fd4bfbeeaf5",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel.def"
    },
    {
      "type": "modify",
      "old_id": "78e4db89042305a20eb88f78bcaec5f3ef90ffd8",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan.def",
      "new_id": "31c46faac8e616411e5ffd8d4942b1254645f286",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan.def"
    },
    {
      "type": "modify",
      "old_id": "3156f7a9106932887603d610b649cd1b1aef0169",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_asan_cxx23.def",
      "new_id": "98e818f785e1737613446490fbe808ff3e6e1869",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_asan_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "a812da0bdfd0e6339dcb5a071374a8e99bbf1a8f",
      "old_mode": 33188,
      "old_path": "symbols_x64_rel_cxx23.def",
      "new_id": "60b751bc20940532c9f2ac32b05ab1de61ad3fc9",
      "new_mode": 33188,
      "new_path": "symbols_x64_rel_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "92846aa06088a973bdc16a2d93a012fa53633b87",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg.def",
      "new_id": "379f5a9a90206cefad47b1e7f489d83e11ab9dde",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg.def"
    },
    {
      "type": "modify",
      "old_id": "a23dc7d70d44588d2dc42c7c23941845428fffc1",
      "old_mode": 33188,
      "old_path": "symbols_x86_dbg_cxx23.def",
      "new_id": "d5e0b73630efebec587ce5bf8add336fe3a7136f",
      "new_mode": 33188,
      "new_path": "symbols_x86_dbg_cxx23.def"
    },
    {
      "type": "modify",
      "old_id": "7c7abd982c65989075ff8ad8c80cfd99a87b33aa",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel.def",
      "new_id": "8bb1a82f3063e88481aa9a97c39ed7564320bef3",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel.def"
    },
    {
      "type": "modify",
      "old_id": "0d6ec4eb2bb8d4a2fcd31cf8889ac031288fb5ac",
      "old_mode": 33188,
      "old_path": "symbols_x86_rel_cxx23.def",
      "new_id": "50acee4d451313484984bf4e6de934b73a9d1ef3",
      "new_mode": 33188,
      "new_path": "symbols_x86_rel_cxx23.def"
    }
  ]
}
