)]}'
{
  "log": [
    {
      "commit": "a436d516eaa82223ab3f77d4c0bfc6ac3e0efc92",
      "tree": "d7e2b7ed747645fa46caf15b44b7193745f51a01",
      "parents": [
        "9d179eedeccfc58e041b9e8c41651bbae01b156d"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Jul 31 02:06:38 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 18:10:33 2026 -0700"
      },
      "message": "[libc++][pstl] Implementation of parallel std::lexicographical_compare() based on std::mismatch() (#212366)\n\nThis PR adds an implementation of parallel\n`std::lexicographical_compare()` based on parallel `std::mismatch()`.\n\nThe implementation is close to a one-liner:\n```c++\nauto __res \u003d _Mismatch()(__policy, __first1, __last1, __first2, __last2, [\u0026](_Ref1 __lhs, _Ref2 __rhs) {\n  return !__comp(__lhs, __rhs) \u0026\u0026 !__comp(__rhs, __lhs);\n});\n```\n\nIncluded tests check that:\n- Semantics of the iterator-only version is correct.\n- Semantics of the predicated version is correct.\n- The functions correctly SFINAE out when the first argument is not an\nexecution policy.\n- The `noexcept` policy is followed.\n- The `nodiscard` policy is followed.\n- `static_assert` verifies iterators\u0027 categories.\n\nPart of #99938.\n\nGitOrigin-RevId: b4d2b2f9a31ba82b5bcbf9060748bde8beae814b\n"
    },
    {
      "commit": "9d179eedeccfc58e041b9e8c41651bbae01b156d",
      "tree": "0f45532a60b50e389812d2d463214fc19a026004",
      "parents": [
        "20bf7118615cc7486e4e134e7980d3f13cd94067"
      ],
      "author": {
        "name": "Zibi Sarbinowski",
        "email": "zibi@ca.ibm.com",
        "time": "Thu Jul 30 13:08:46 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 10:10:38 2026 -0700"
      },
      "message": "[libc++] Fix difference_type expectations in range adaptor iterator member_types tests (#201853)\n\nThis fixes incorrect expectations in:\n\n```\nlibcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp\nlibcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp\nlibcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp\n```\n\nThese iterators define difference_type as `range_difference_t\u003cBase\u003e`.\nFor `ForwardSizedView` and `InputCommonView`, the `difference_type` of\nthe underlying iterators is `std::intptr_t` in `test_iterators.h`.\n\nThe tests instead assert `std::ptrdiff_t`. That happens to hold on\nplatforms where `std::intptr_t` and `std::ptrdiff_t` are the same type,\nbut fails elsewhere.\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nGitOrigin-RevId: f8eefd3d9d1b083563b1b095a8cf4513026252e0\n"
    },
    {
      "commit": "20bf7118615cc7486e4e134e7980d3f13cd94067",
      "tree": "c0717b5de5bebe98c8b87b6724f2529b5472b2a4",
      "parents": [
        "20d5192d191e3c490358bb275625aa177127dc69"
      ],
      "author": {
        "name": "Kyungtak Woo",
        "email": "kevinwkt@google.com",
        "time": "Thu Jul 30 09:08:22 2026 -0600"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 08:11:04 2026 -0700"
      },
      "message": "[libc++] Fix std::mt19937 seeding with std::seed_seq under vectorized ABI (#209860)\n\nThis PR fixes a bug in `std::mersenne_twister_engine::seed(_Sseq\u0026)`\nwhere the initialization twist is bypassed when the vectorized engine\noptimization (`_LIBCPP_ABI_VECTORIZED_MERSENNE_TWISTER_ENGINE`) is\nenabled.\n\nIn the vectorized implementation introduced in #206423, the engine state\nmust be pre-twisted during initialization by calling\n`__update_all_states()` at the end of the `seed` functions.\n\nHowever, in `seed(_Sseq\u0026 __q)`, the all-zero state check contains an\nearly `return;` when a non-zero state is verified. This early return\nbypasses the trailing `__update_all_states()` call. Consequently, the\ngenerator is initialized with raw, untwisted seed values (tempered)\nrather than the standard twisted values.\n\nThis only manifests when compiled with unstable ABI settings\n(`_LIBCPP_ABI_VERSION \u003e\u003d 2`) which enables the vectorized\nimplementation.\n\nI replaced the early `return;` inside the all-zero state verification\nblock with a loop break, and conditionalized the zero-state fix using\nthe loop index `__i`, ensuring `__update_all_states()` is always\nexecuted at the end of the function. Added regression tests to\n`seed_sseq.pass.cpp` asserting the exact deterministic outputs for both\n32-bit and 64-bit engines.\n\nGitOrigin-RevId: 66d049cdad21a7ad387f358f7593bee91221bd39\n"
    },
    {
      "commit": "20d5192d191e3c490358bb275625aa177127dc69",
      "tree": "fa2b24a8722ac86a67ae0825cf71bdb64d73c378",
      "parents": [
        "868bd3d546ac963a458675a7f577bec85bff6094"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Thu Jul 30 17:57:11 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 08:00:58 2026 -0700"
      },
      "message": "[libc++][ranges] P3059R2: Making user-defined constructors of view iterators/sentinels private (#193891)\n\nImplements https://wg21.link/P3059R2 (DR)\n\nCloses #189599\n\n1. Made constructors of iterator and sentinel types of the following\nviews private:\n  - `iota_view`\n  - `basic_istream_view`\n  - `filter_view`\n  - `transform_view`\n  - `take_view`\n  - `take_while_view`\n  - `join_view`\n  - `lazy_split_view`\n  - `split_view`\n  - `elements_view`\n2. Updated all relevant tests to fix the usages of the now private\nconstructor, including:\n   1. Removed now obsolete tests (files and cases).\n2. Updated all relevant tests to get the iterators and the sentinels via\n`begin()` and `end()`, wherever applicable .\n   3. Added test cases to confirm that P3059R2 was implemented properly.\n   4. Minor other (necessary) tweaks.\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nGitOrigin-RevId: 11b58f0e4c84437b2c39e0e5cc415077b3fe06d3\n"
    },
    {
      "commit": "868bd3d546ac963a458675a7f577bec85bff6094",
      "tree": "1c39b2d3c0a7ac410e7fa4302c28762c0ce88786",
      "parents": [
        "3127ac1b9978043db6dbbfbefc8e8412a180a985"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 30 16:17:13 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 07:20:37 2026 -0700"
      },
      "message": "[libc++] Fix exception_fallback.ipp not compiling (#212961)\n\nGitOrigin-RevId: e001308a83cace2f133edf4ee08c574ba7c2c702\n"
    },
    {
      "commit": "3127ac1b9978043db6dbbfbefc8e8412a180a985",
      "tree": "655a6532cbf92d37198189e7addb26f7ae060602",
      "parents": [
        "a12fb7e0e7cf54664cbfc5805d9a016a708e8fae"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 30 14:15:45 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 05:20:49 2026 -0700"
      },
      "message": "[libc++] Switch XFAIL in xsgetn.buffer.pass.cpp to LLVM 23 (#212969)\n\nWe want to back-port the fix for xsgetn, so the XFAIL needs to be\nupdated to reflect that.\n\nGitOrigin-RevId: 76140a666d18b940597bf73362d4101af0247ea6\n"
    },
    {
      "commit": "a12fb7e0e7cf54664cbfc5805d9a016a708e8fae",
      "tree": "45b6a3531d864c49ee8e47a1c0d3b9dce2e32e43",
      "parents": [
        "1dbde6cd2b603da62625de6879e66ce754b55c2a"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 30 14:10:29 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 05:15:38 2026 -0700"
      },
      "message": "[libc++abi] Use the same .clang-format as libc++ (#208661)\n\nlibc++abi is very close to libc++, and even shares some amount of code.\nWe should keep the formatting style the same between the two libraries.\n\nGitOrigin-RevId: e7b04d7b58941cc9173930871a18d149f0b8a432\n"
    },
    {
      "commit": "1dbde6cd2b603da62625de6879e66ce754b55c2a",
      "tree": "29716ca410cd2181ce47e5f1aad1931073b39777",
      "parents": [
        "52b8fcde42306c094fbf3f5e6aa97173d7ad3f6a"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 30 14:05:39 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 05:10:30 2026 -0700"
      },
      "message": "[libc++] Clean up windows macros (#207577)\n\nWe have multiple macros for different Windows. However, most of them\ndon\u0027t actually define different things. We can condense the macros to\n- `_WIN32` directly if it only depends on windows, or\n- `_LIBCPP_MSVCRT`\n\nThis patch drops `_LIBCPP_MSVCRT_LIKE` and `_LIBCPP_WIN32API`, since\nthey are equivalent to `_WIN32`.\n\nGitOrigin-RevId: a8cc3d25922b689508dc63487525c73bc2747585\n"
    },
    {
      "commit": "52b8fcde42306c094fbf3f5e6aa97173d7ad3f6a",
      "tree": "76cdbf1fd5f42df7b9059cc111d61f195060d79a",
      "parents": [
        "288b62f8a78337b5225654eda2691e47ccd5d4d2"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Jul 30 07:57:58 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 05:00:47 2026 -0700"
      },
      "message": "[libc++] Fix incorrect paper statuses (#212827)\n\nThese two papers also added parallel algorithm overloads, which were\nnever implemented but the papers were still marked as implemented. Mark\nthe papers as Partial instead.\n\nCF #103640 and #104095\n\nGitOrigin-RevId: 3a687d3b86c44821ae2a013fe3d9f5bf88a471a9\n"
    },
    {
      "commit": "288b62f8a78337b5225654eda2691e47ccd5d4d2",
      "tree": "1fd68b375c9a33cb3d4aa3298ff963d883138882",
      "parents": [
        "0d8e5e01706dfbf1fda7b3c333ba0b94eef26dd4"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 30 11:19:56 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 05:00:33 2026 -0700"
      },
      "message": "[libc++][NFC] Rename the streambuf members (#212277)\n\nThis refactors `streambuf` to contain a `_GetArea` and a `_PutArea`.\nThis makes the code significantly easier to read, since the pointers\nbelonging together are bundled in a struct.\n\nGitOrigin-RevId: d3ca4e5011078f04eb974edcfaa00a7c052e3510\n"
    },
    {
      "commit": "0d8e5e01706dfbf1fda7b3c333ba0b94eef26dd4",
      "tree": "b1ca492c47e524130ef539480bb153c02c32bf53",
      "parents": [
        "8d6a174b05df8241e2b7067cf54ff98344b9824b"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 30 11:17:44 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 02:21:21 2026 -0700"
      },
      "message": "[libc++] Move numpunct into \u003c__locale_dir/num.h\u003e (#212465)\n\n`numpunct` is part of the `num` family of facets, so it should live in\n`num.h`.\n\nGitOrigin-RevId: 98cdcbae7714396a1d7b4865d0ade80e6450d445\n"
    },
    {
      "commit": "8d6a174b05df8241e2b7067cf54ff98344b9824b",
      "tree": "20b1cbf2c3da76b9c45b53ea39d0731364dce04a",
      "parents": [
        "b673190760d7ae4e94c666558b694186a60e04da"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 30 11:17:08 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 30 02:21:12 2026 -0700"
      },
      "message": "[libc++] Remove SFINAE checks in tuple which are always true (#212765)\n\nWe have a specialization for `tuple` with no arguments, so checking\n`sizeof...(_Tp) \u003e\u003d 1` in the primary template will never be false.\n\nGitOrigin-RevId: c27b35739d5eaf3e214f639fded1515d72884027\n"
    },
    {
      "commit": "b673190760d7ae4e94c666558b694186a60e04da",
      "tree": "355f2f62ff0553e48cdb07a764c038c67c04e655",
      "parents": [
        "12469f02ad21b08727e4c539107ae1ad412431d6"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Wed Jul 29 23:12:15 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 20:16:47 2026 -0700"
      },
      "message": "[libc++] Granularize `\u003coptional\u003e` (#206644)\n\nCertain headers require `optional\u003cT\u0026\u003e`, so it may be beneficial to split\nout `optional\u003cT\u003e` and `optional\u003cT\u0026\u003e`. This can allow consumers to only\nbring in the `optional` flavour it needs..\n\n- Parcel out the respective pieces into their own header.\n- Certain sources rely on transitive includes brought in by\n`\u003coptional\u003e`, so they\u0027re kept there for now, and only tests have been\nfixed.\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nGitOrigin-RevId: 7ded638ea33b96d9fd628e2a5cbc06df12ede153\n"
    },
    {
      "commit": "12469f02ad21b08727e4c539107ae1ad412431d6",
      "tree": "a6d6ada5701d01f2ad8f086056416f241c54d73d",
      "parents": [
        "120c30f3a8aea9878a3d39dd2bc9f02c0e2b2769"
      ],
      "author": {
        "name": "higher-performance",
        "email": "higher.performance.github@gmail.com",
        "time": "Wed Jul 29 22:38:39 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 19:40:25 2026 -0700"
      },
      "message": "Speed up compilation of typical invocations of std::visit(std::variant\u003c...\u003e) for up to 11 types (#164196)\n\nSimilar to https://reviews.llvm.org/D90168 which was reverted (https://github.com/llvm/llvm-project/issues/62648#issuecomment-1832315651), but uses `switch` statements rather than function pointer tables.\n\nGitOrigin-RevId: a01f8c85bcac35be5b6b9d5f081a3763feb5b530\n"
    },
    {
      "commit": "120c30f3a8aea9878a3d39dd2bc9f02c0e2b2769",
      "tree": "94d4bc054df136874fcd1d3f6d35204ec95e5f99",
      "parents": [
        "be3a98f56a39de5891ea969f0e3154b6a2aba704"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Wed Jul 29 19:57:21 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 11:00:15 2026 -0700"
      },
      "message": "[libc++][math] Add missing `constexpr since C++23` comment for `signbit` (#212458)\n\nAdds the missing `// constexpr since C++23` for `std::signbit` in the\nsynopsis comments of `\u003ccmath\u003e`.\nFollows-up: https://github.com/llvm/llvm-project/pull/105946.\nGitOrigin-RevId: aa924278efbd4f76329bb95ebd33fd3e445d4ff4\n"
    },
    {
      "commit": "be3a98f56a39de5891ea969f0e3154b6a2aba704",
      "tree": "208c9463d032676673415bc3ae69924770d88faf",
      "parents": [
        "59369e22a78d1bb209191160bc0b5fc0285a82af"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Wed Jul 29 16:08:13 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 08:10:55 2026 -0700"
      },
      "message": "[libc++][pstl] Implementation of a parallel std::adjacent_find() based on std::mismatch() (#210604)\n\nThis PR implements a parallel `std::adjacent_find()` based on parallel\n`std::mismatch`. The implementation reshapes the input range as two ranges\noffset by 1 element and asks `std::mismatch` to find the first equal pair.\n\nPart of #99938.\n\nGitOrigin-RevId: 196b4b6a2dec34c19bca14f4ba15aee56f2abfe7\n"
    },
    {
      "commit": "59369e22a78d1bb209191160bc0b5fc0285a82af",
      "tree": "db22e3eb77c1e3c4e500cd473b5f405b6b60b696",
      "parents": [
        "fed8b5155a2d204664ce88ad9b06bf4c95cb3871"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Jul 29 14:09:16 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 05:10:44 2026 -0700"
      },
      "message": "[libc++][NFC] Clean up atomic_support.h (#212464)\n\nWe don\u0027t support any compilers which don\u0027t have the atomic builtins, so\nwe don\u0027t need to check whether they exist. There is also no need for an\nanonymous namespace, since all the functions are inline.\n\nGitOrigin-RevId: c53789fcf54979f7986d2e396920b725ce88f3e4\n"
    },
    {
      "commit": "fed8b5155a2d204664ce88ad9b06bf4c95cb3871",
      "tree": "059473ba3c664238fff828c107c3c9bc849a25ab",
      "parents": [
        "6a58fa405e93a0e50e0d6537fc505ac6ab53eadf"
      ],
      "author": {
        "name": "Hui",
        "email": "hui.xie1990@gmail.com",
        "time": "Wed Jul 29 12:54:48 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 05:00:34 2026 -0700"
      },
      "message": "[libc++][test][NFC] remove old UNSUPPORTED clang from clear_padding.pass.cpp (#212690)\n\nFollow up PR for comment\nhttps://github.com/llvm/llvm-project/pull/211258/changes#r3663614103\n\nI think I must have made an oversight while resolving a merge conflict\n\nGitOrigin-RevId: a41d59740625948c6b334abbf921d0888b6f0377\n"
    },
    {
      "commit": "6a58fa405e93a0e50e0d6537fc505ac6ab53eadf",
      "tree": "221e4c33ff8342be6e3c8fc4f178605e68febf87",
      "parents": [
        "d0ca0cabe7c4c6b7ebf7be64253e53ee8d2de1a7"
      ],
      "author": {
        "name": "Yordan Vásquez",
        "email": "vyordangiovani@gmail.com",
        "time": "Wed Jul 29 03:41:55 2026 -0600"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 29 02:45:25 2026 -0700"
      },
      "message": "[libc++] Mark LWG3133 as Complete and add valarray operator[] safety tests (#208145)\n\nThis verifies that libc++ has implemented the resolution of LWG3133,\nwhich modernizes the requirements on `T` for `std::complex\u003cT\u003e` and\n`std::valarray\u003cT\u003e` in [numeric.requirements].\n- No code changes were needed for `std::valarray\u003cT\u003e`: its `operator[]`\nalready indexes through a raw pointer and never relies on a\nuser-overloadable `operator\u0026`, so it already conforms to the revised\nwording.\n- Added o`perator_hijacker`-based tests to `valarray`\u0027s\n`access.pass.cpp`/`const_access.pass.cpp`, confirming `operator[]`\ndoesn\u0027t rely on a user-overloadable `operator\u0026`.\n\nGitOrigin-RevId: e062a29cf865bb7cadea6cb605c9f3515e5b883f\n"
    },
    {
      "commit": "d0ca0cabe7c4c6b7ebf7be64253e53ee8d2de1a7",
      "tree": "e5a57074d71561a6113e2bda58ebacf927603304",
      "parents": [
        "dc074d95b5a68fe1d1270c069dfa2db98cda2277"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 28 12:48:45 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 09:51:01 2026 -0700"
      },
      "message": "[libc++] Reduce sequence container benchmark size ladder (#212281)\n\nThe sequence containers were registered for 32, 1024 and 8192. This\npatch drops the mid-size point to get roughly a 30% speedup when running\nthe benchmarks.\n\nGitOrigin-RevId: 583a958f83d813da3e2d9e801304d58de2493b62\n"
    },
    {
      "commit": "dc074d95b5a68fe1d1270c069dfa2db98cda2277",
      "tree": "2c12ec730ec404d4ef33fe41e2dfaa70d86df6b8",
      "parents": [
        "fb78c358fc792039db42daf44149b78ae9c1d0d2"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 28 12:48:21 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 09:50:53 2026 -0700"
      },
      "message": "[libc++] Drop char8_t instantiation from string benchmarks (#212283)\n\nThe string benchmarks instantiated every benchmark for char, char8_t and\nwchar_t. char8_t exercises the same code paths as char, so drop it to\nget roughly a 30% speedup on this benchmark time.\n\nGitOrigin-RevId: 15b9ee4ee263e8c6c98e89ed7b33ff35cf540255\n"
    },
    {
      "commit": "fb78c358fc792039db42daf44149b78ae9c1d0d2",
      "tree": "2d331e25604eb7cae13710d1a6da30eea7098132",
      "parents": [
        "0732a530c6bc033dbce90f18bdafa12475974b9a"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 28 12:47:43 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 09:50:43 2026 -0700"
      },
      "message": "[libc++] Defer removal of two escape hatches to LLVM 25 (#211553)\n\nRather than removing the escape hatches for trivially default\nconstructible allocator and bitset\u0027s const reference type in LLVM 24,\nkeep them around for another release since they have not been widely\ndeployed yet.\n\nGitOrigin-RevId: 8ea9597ccb04253c5b46b3c967ee7b5092d6dd7c\n"
    },
    {
      "commit": "0732a530c6bc033dbce90f18bdafa12475974b9a",
      "tree": "eabfde8d4f46f3446258d4c9d4b8322f8910b83c",
      "parents": [
        "5f00e9261877c5d6e8baf5041f78bf9036e84753"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Tue Jul 28 17:14:47 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 09:50:33 2026 -0700"
      },
      "message": "[libc++][math] Add `constexpr` to comparison functions (#210075)\n\nImplement `constexpr` to all comparison functions (`std::isgreater`,\n`std::isgreaterequal`, `std::isless`, `std::islessequal`,\n`std::islessgreater`, `std::isunordered`) as defined by\n[P0533R9](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf).\n\nTowards https://github.com/llvm/llvm-project/issues/105174. Follows-up\nhttps://github.com/llvm/llvm-project/pull/94118.\n\nGitOrigin-RevId: a69addf4fb640c34fa8249543003c375247c4933\n"
    },
    {
      "commit": "5f00e9261877c5d6e8baf5041f78bf9036e84753",
      "tree": "57403163fc4ad62746247206019a5d5f2c333db3",
      "parents": [
        "19e6f5d0c8ac0ccc17952ad505be381db8a17077"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Tue Jul 28 18:12:56 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 08:15:32 2026 -0700"
      },
      "message": "[libc++][optional][NFC] Use variable templates instead of class templates (#212443)\n\nModernizing similar to: https://github.com/llvm/llvm-project/pull/199481\n\nGitOrigin-RevId: 0fc8ce3bb59ba1ebbb0aecf564158a0c145eeb50\n"
    },
    {
      "commit": "19e6f5d0c8ac0ccc17952ad505be381db8a17077",
      "tree": "90ab84dcf266d1bf1fe11982c7b12f434d1eb06c",
      "parents": [
        "ee6f52fe726b3b3099293acaf494c42c1e38f6c2"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Jul 28 16:27:10 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 07:29:09 2026 -0700"
      },
      "message": "[libc++] Fix ungetc failing after xsgetn (#210951)\n\nAfter #206453 we don\u0027t correctly handle `unget()` anymore. This fixes\nthe issue by updating the internal buffer to contain the tail of the\nread data.\n\nFixes #210203\n\nGitOrigin-RevId: 455ef3684fae3273b3423bb0229e33584745c6cc\n"
    },
    {
      "commit": "ee6f52fe726b3b3099293acaf494c42c1e38f6c2",
      "tree": "3f6d3ee19c6c6322d921dee053b73b76ef51bbc6",
      "parents": [
        "76346286d8818d1de149089f3dd5aa0fcf1ed571"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Tue Jul 28 20:22:42 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 05:25:22 2026 -0700"
      },
      "message": "[libc++][test] Suppress warning on bitwise shift with `bool` operands in `std::byte` tests for MSVC (#212433)\n\nIt was intentional in https://llvm.org/PR204116 that tests for\n`operator\u003c\u003c`, `operator\u003c\u003c\u003d`, `operator\u003e\u003e`, `operator\u003e\u003e\u003d` used `bool`\noperands, because `bool` is an integral type and thus satisfies the\nconstraints of these operators.\n\nHowever, MSVC considers `bool` is unsafe as an operand of bitwise shift\noperators and emits warning C4804. So this patch suppresses the warning\nfor MSVC.\n\nGitOrigin-RevId: ac8b30c74b595dd8dfa612912663e57dafcf3355\n"
    },
    {
      "commit": "76346286d8818d1de149089f3dd5aa0fcf1ed571",
      "tree": "71af1a2038504498e1ae122269eac90e982db876",
      "parents": [
        "16bb281958a1b7c1329da4e8d10cf9c6c72d1d9f"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Tue Jul 28 19:42:32 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 04:45:56 2026 -0700"
      },
      "message": "[libc++][test][NFC] Format `test_macros.h` (#212442)\n\nAvoiding errors about untouched lines from clang-format when modifying\nconditions in `test_macros.h`.\n\nGitOrigin-RevId: abd3b3a1445b5a8eeffae5c3912883faa9287fb7\n"
    },
    {
      "commit": "16bb281958a1b7c1329da4e8d10cf9c6c72d1d9f",
      "tree": "dc0bb038a9d7735966ea606f5e141ff93dc623b0",
      "parents": [
        "69e9d2d7a103aecae89b5583989601d3d98e5feb"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Tue Jul 28 19:35:00 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 04:41:14 2026 -0700"
      },
      "message": "[libc++][test] Disable test coverage for `_BitInt` for non-libc++ implementations (#212435)\n\nCurrently, library support for `_BitInt(N)` is an extension explicitly\nsupported by libc++. However, when using Clang with other standard\nlibrary implementations, `TEST_HAS_BITINT` is currently `1` as the\ncondition only detects compiler support of `_BitInt`.\n\nThis patch disables `_BitInt` coverage for other implementations for\nnow.\n\nGitOrigin-RevId: 321642826552ff4e4c7d67ea236f8669d4598c9f\n"
    },
    {
      "commit": "69e9d2d7a103aecae89b5583989601d3d98e5feb",
      "tree": "2e36e1370e2216a75b4aceb4188fc8138adba515",
      "parents": [
        "109d5d4423aa56c924fd8bfa586c868805443bbb"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Jul 28 13:33:47 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 28 04:35:18 2026 -0700"
      },
      "message": "[libc++] Simplify some meta-programming in tuple (#212436)\n\nThis does two things:\n- replace `_Not\u003cT\u003e::value` with `!T::value` when we already evaluate\nlazily\n- remove `_And`s that aren\u0027t useful because they only have a single\nargument\n\nGitOrigin-RevId: bcdff65a953758e3a72cf99586c6ce809d4aaf9e\n"
    },
    {
      "commit": "109d5d4423aa56c924fd8bfa586c868805443bbb",
      "tree": "ce933e26b4ed3c532243fd64a365e421c03ac921",
      "parents": [
        "068216a095ec0be6092de545eca240070f7fd998"
      ],
      "author": {
        "name": "Hui",
        "email": "hui.xie1990@gmail.com",
        "time": "Tue Jul 28 07:15:19 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 23:20:46 2026 -0700"
      },
      "message": "[libc++] Implement P0528R3 `std::atomic` CAS for types with padding (#76180)\n\nFixes #99984\n\nImplement P0528R3 The Curious Case of Padding Bits, Featuring Atomic\nCompare-and-Exchange\n\nThe unit test padding.pass.cpp is assisted by Cursor. However, all tests\nhave been modified to test what I wanted to test\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nGitOrigin-RevId: de962dda125154abb64446c198b5349cf05311cb\n"
    },
    {
      "commit": "068216a095ec0be6092de545eca240070f7fd998",
      "tree": "de930144ccf1eaaa02a85eec25d7de4f6baccb74",
      "parents": [
        "71a8654c567382e403cac726e4e8ac55eb8e9094"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Jul 27 17:34:47 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 14:40:38 2026 -0700"
      },
      "message": "[libc++] Rename the test suite used on LNT (#212347)\n\nThe LNT instance on http://lnt.llvm.org was wiped since I created the\noriginal schema, and we can now start over clean with a new test suite\nnamed `libcxx`.\n\nGitOrigin-RevId: 4ca573fb7947b3bebf5c1da512b5142679545905\n"
    },
    {
      "commit": "71a8654c567382e403cac726e4e8ac55eb8e9094",
      "tree": "b6280db809a70ffde90127f79a15c265a9998263",
      "parents": [
        "e45b712e1714346963655cce623e1c1b25b06b9a"
      ],
      "author": {
        "name": "Hui",
        "email": "hui.xie1990@gmail.com",
        "time": "Mon Jul 27 17:32:19 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 09:37:05 2026 -0700"
      },
      "message": "[libc++][test] re-enable clear padding runtime test (#211258)\n\nGitOrigin-RevId: 0733641570c25e6323e39c4ee66693a4668429a8\n"
    },
    {
      "commit": "e45b712e1714346963655cce623e1c1b25b06b9a",
      "tree": "b60ba291a073fb76133691b72654ede9df44bad7",
      "parents": [
        "e2fd331d5b8a809b717a0084173ee81a3c483f71"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Jul 27 12:21:45 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 09:26:32 2026 -0700"
      },
      "message": "[libc++] Add benchmark for std::nth_element (#210112)\n\nGitOrigin-RevId: a3b6e0baca37a717b3c498c21514256df4c29ef2\n"
    },
    {
      "commit": "e2fd331d5b8a809b717a0084173ee81a3c483f71",
      "tree": "c077eeaaddf6ed4c109643d1738643e26113a7cb",
      "parents": [
        "646a30fd2baba4ae4a96430c43792c7280aff0a4"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Jul 27 12:21:13 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 09:26:21 2026 -0700"
      },
      "message": "[libc++] Add benchmarks for std::min_element, std::max_element and std::ranges::max (#209590)\n\nExtend missing coverage and increase consistency across how the\nbenchmarks are written.\n\nGitOrigin-RevId: c060161b318f5162556d22d801a6ae704841c983\n"
    },
    {
      "commit": "646a30fd2baba4ae4a96430c43792c7280aff0a4",
      "tree": "c4f5a4037f48aafabb3789d0d370a49aa8700f82",
      "parents": [
        "dbb0314a1d84d6306e761e192db2087245723886"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Jul 27 12:20:39 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 09:26:11 2026 -0700"
      },
      "message": "[libc++] Add benchmarks for std::next_permutation and std::prev_permutation (#210966)\n\nGitOrigin-RevId: d2e3e96dedbedca0bfc39fc94f64e04cfa4ec74e\n"
    },
    {
      "commit": "dbb0314a1d84d6306e761e192db2087245723886",
      "tree": "595d91cfcf4c2b79f9423beb8b1a8fc27554b218",
      "parents": [
        "99f3a9bfa9f1badf0ff928813ff16edb95ef2ae5"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Jul 27 17:16:02 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 08:22:03 2026 -0700"
      },
      "message": "[libc++][NFC] Use [[deprecated]] for __grow_by (#209126)\n\n`__grow_by` is an internal function, and we deprecated it to avoid\naccidental use of it inside the library. `_LIBCPP_DEPRECATED_` is meant\nfor user-configuration, which doesn\u0027t apply here.\n\nFixes #124940\n\nGitOrigin-RevId: 3d20ba7135d93de7a6cd7db5a196c41d25e391a7\n"
    },
    {
      "commit": "99f3a9bfa9f1badf0ff928813ff16edb95ef2ae5",
      "tree": "968b5dc81a320b62efa0639be9bdc46e84614aa3",
      "parents": [
        "49006f3e1873dcab8bdd3bf85f9bbdd22b3d8e3c"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Mon Jul 27 07:32:19 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 04:35:53 2026 -0700"
      },
      "message": "[libc++] Inline `text_encoding` alias offset table std::count to 884 (#207471)\n\n- Add count test to verify the exact number of aliases our table\ncontains\n- Should reduce compile time cost of gathering that count\n\nGitOrigin-RevId: c84136af3d15893fe3f2bc608280ccaa71e18db1\n"
    },
    {
      "commit": "49006f3e1873dcab8bdd3bf85f9bbdd22b3d8e3c",
      "tree": "9e308660cefcb1f7f884c75af4621b4c30da5ebc",
      "parents": [
        "b82d95fe7ae5ce563cce60dcb7bffa6e96f5b0d7"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Jul 27 13:21:45 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 04:26:12 2026 -0700"
      },
      "message": "[libc++] Remove locale::id::__next_id from the ABI (#210360)\n\n`__next_id` is only ever used inside the dylib, so we can avoid making it public.\n\nGitOrigin-RevId: 1333e0a05d822b96e76d9edf55f1af66e2cbb0b3\n"
    },
    {
      "commit": "b82d95fe7ae5ce563cce60dcb7bffa6e96f5b0d7",
      "tree": "ab5756db8ea2f44206ee6653ff1b7b941e7e03cf",
      "parents": [
        "c5621f1768ddd21a0e7ddcd5a43229930072c2b9"
      ],
      "author": {
        "name": "Avi Patel",
        "email": "aviipatel06@gmail.com",
        "time": "Mon Jul 27 06:00:45 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 03:08:56 2026 -0700"
      },
      "message": "[libc++] Implement P1901R2: owner_hash and owner_equal for shared_ptr/weak_ptr (#210551)\n\nFixes #105372.\n\n## Acknowledgements\n\nClaude assisted with test development.\n\nGitOrigin-RevId: 1b3d208c77145b670207a646050bbe2cc8aea567\n"
    },
    {
      "commit": "c5621f1768ddd21a0e7ddcd5a43229930072c2b9",
      "tree": "963d0379ea920c864bcd8ae77ead3f652b62e4e5",
      "parents": [
        "ea2cd7858329f4546cfabc221d9c5539996ecf5f"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Sun Jul 26 13:15:10 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 26 10:20:15 2026 -0700"
      },
      "message": "[libc++] Removing traiilng whitespace at line end in CMakeLists.txt (#212135)\n\nFollow-up to #209291.\n\nGitOrigin-RevId: 1f48ea0f6334d1085bd1b13cd303f04f7af64bd8\n"
    },
    {
      "commit": "ea2cd7858329f4546cfabc221d9c5539996ecf5f",
      "tree": "7b307b8626d7e36e6bf6f102f388d79e44d69a13",
      "parents": [
        "67520938f3c858560be65aa27479744232fccdfd"
      ],
      "author": {
        "name": "Emmett",
        "email": "emmettzhang2020@outlook.com",
        "time": "Mon Jul 27 00:09:16 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 26 09:10:25 2026 -0700"
      },
      "message": "[libc++][chrono] Implement LWG 4274: Allow chrono::hh_mm_ss to be constructed from unsigned durations (#209686)\n\n**_Implementation details_**:\n- Use `is_unsigned_v` instead of `numeric_limits\u003cRep\u003e::is_signed`, which\nis used by `chrono::abs`. `numeric_limits\u003cRep\u003e::is_signed` may return\nfalse when a custom `Rep` does not specialize `numeric_limits`. Relying\non it to detect the unsigned case could therefore be unreliable for such\na type. `is_unsigned_v` instead gives a compile-time path for built-in\nunsigned types, while the sign check keeps signed types correct.\n\n- The constructor calls `__abs_d` four times because each member is\ninitialized separately. This should not affect runtime performance\nbecause the compiler should inline `__abs_d` and eliminate the repeated\ncalculations. We could use another helper function or helper class to\nexplicitly compute the absolute duration only once. However, this would\nadd extra glue code, and the added complexity is not worthwhile I think.\n\n---------\n\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nGitOrigin-RevId: 286fcce7e75a4566a813c25f4ec5824533226265\n"
    },
    {
      "commit": "67520938f3c858560be65aa27479744232fccdfd",
      "tree": "2da281ee25c463475f9af925f6ba38c29c2c8eff",
      "parents": [
        "6228dee16df6d00e984bd823711cdc1810d0cb27"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Sun Jul 26 17:46:14 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 26 08:50:51 2026 -0700"
      },
      "message": "[libc++][NFC] Inline fstream functions into the class body (#211738)\n\nThe `fstream` member functions are all really short, so inlining them\nremoves quite a bit of boiler plate code.\n\nGitOrigin-RevId: 61517a81407d2a7353815dae7625caa1749b99ca\n"
    },
    {
      "commit": "6228dee16df6d00e984bd823711cdc1810d0cb27",
      "tree": "ecdf0f59e7822099c1556ae6ba1eed03a4858601",
      "parents": [
        "513c00eeca8675011b538e8edbc7446ef265055f"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Sun Jul 26 15:51:39 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 26 07:55:31 2026 -0700"
      },
      "message": "[libc++][pstl] Implementation of a parallel std::mismatch() based on __pstl::__parallel_find() (#209291)\n\nThis PR adds a parallel version of `std::mismatch` as one of the backend\noperations.\nIt also provides an implementation based on `__pstl::__parallel_find()`\nwhich does the heavy lifting.\n`libdispatch` and `std_thread` backends expose this implementation under\ntheir backend tags, while the `serial` backend redirects the calls to\nthe serial `std::mismatch`.\n\n4 flavours of the function are exposed: 3-legged, 3-legged with\npredicate, 4-legged, 4-legged with predicate.\n3-legged flavours are implemented in the `default` (`composition`)\nbackend by redirecting the call to the 4-legged flavours.\n\nIncluded tests check that:\n\n- Semantics of the iterator-only functions is correct.\n- Semantics of the predicated functions is correct.\n- Custom types are supported by the implementation.\n- The functions correctly SFINAE out when the first argument is not an\nexecution policy.\n- The `nodiscard` policy is followed.\n- The `noexcept` policy is followed.\n- `static_assert` verifies iterators\u0027 categories.\n\nPart of #99938.\n\nGitOrigin-RevId: 150f33ce28956d80fc7617e477bb805ab062a28a\n"
    },
    {
      "commit": "513c00eeca8675011b538e8edbc7446ef265055f",
      "tree": "2bddabf8c1aff5b3fcaad89b9de72aa29f36e5b8",
      "parents": [
        "4fee472dd41202be0de89e83349b590786a8aaf3"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Sun Jul 26 08:30:25 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 25 23:35:33 2026 -0700"
      },
      "message": "[libc++][math] Add `constexpr` to `std::fpclassify` (#210993)\n\nAdds `constexpr` to `std::fpclassify` as required by\n[P0533R9](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf).\n\nTowards https://github.com/llvm/llvm-project/issues/105174. Follows-up\n8889a3d3b5154d7d5bd4e58ab10d3df503544742.\n\nGitOrigin-RevId: 4eeff3e309da3a5d827aadc6fb6915b968b23ad5\n"
    },
    {
      "commit": "4fee472dd41202be0de89e83349b590786a8aaf3",
      "tree": "e644373084f996fe6d65f818f17509fe997786d3",
      "parents": [
        "e9670489e3abaacdb3eb1fd9f12839ce82768c42"
      ],
      "author": {
        "name": "Hui",
        "email": "hui.xie1990@gmail.com",
        "time": "Sat Jul 25 17:44:55 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 25 09:46:17 2026 -0700"
      },
      "message": "[libc++] Implement  `std::function_ref` (#186692)\n\nPapers:\n- P0792R14: function_ref: a type-erased callable reference\n- P3948R1 constant_wrapper is the only tool needed for passing constant\nexpressions via function arguments\n- P3961R1 Less double indirection in function_ref (RU-220)\n\nLWG issues:\n- LWG4256: Incorrect constraints for function_ref constructors from\nnontype_t\n- LWG4425: CTAD function_ref of data member pointer should produce\nnoexcept signature\n\nFixes #189606\nFixes #105376\nFixes #189604\nFixes #171321\nFixes #171387\n\n---------\n\nCo-authored-by: Xiaoyang Liu \u003csiujoeng.lau@gmail.com\u003e\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nGitOrigin-RevId: a434fe87cce77591e3322a674c9c97f9ce900291\n"
    },
    {
      "commit": "e9670489e3abaacdb3eb1fd9f12839ce82768c42",
      "tree": "a35f26bc11d15f071d7ab529517388bb28d2e655",
      "parents": [
        "b0809b3658cbb8d6a938fafb0dc9594049e96eb6"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Jul 24 14:56:19 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 12:01:20 2026 -0700"
      },
      "message": "[libc++] Rename pre-commit CI workflows (#211844)\n\nSince we\u0027re expanding libc++\u0027s pre-commit CI to add other types of\ntests, (e.g. tools tests, performance tests, etc), it makes sense to be\na bit more precise about what each workflow does, and to use a\nconsistent pattern across workflow names.\n\nAlso, update stale references to old names in the documentation and in\nsome infrastructure scripts.\n\nGitOrigin-RevId: ba61615b653c4f59b3cd3d721291f0b6009b0b51\n"
    },
    {
      "commit": "b0809b3658cbb8d6a938fafb0dc9594049e96eb6",
      "tree": "385c4907d88d0d8ae7d6f293669006e85094b419",
      "parents": [
        "b6b437d993b8c9ce18b4ffbb400ee91850e4e769"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Jul 24 14:53:24 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 11:55:52 2026 -0700"
      },
      "message": "[libc++][CI] Add a Github workflow to test libc++ tools (#211067)\n\nWe have a few scripts under libcxx/utils, and they wouldn\u0027t be tested on\na regular basis. As a result, changes to e.g. the build system could\nbreak these scripts, which in turn could break some Github workflows\nlike the libc++ PR benchmarking workflow.\n\nThis patch adds a new `test-tools` configuration to `run-buildbot` which\nallows testing these tools locally, and a new dedicated Github workflow\nto run it.\n\nGitOrigin-RevId: 86769296941811360d7126e41e3b13cbabab55ae\n"
    },
    {
      "commit": "b6b437d993b8c9ce18b4ffbb400ee91850e4e769",
      "tree": "32d970568016b91e3c3b7acd9b68543ff708861c",
      "parents": [
        "f2657b06d7bf7db34b5e411bf8c1f7b7c5ae0cb7"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Jul 23 13:21:11 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 10:27:27 2026 -0700"
      },
      "message": "[libc++] Pin down the compiler in the various benchmark scripts and jobs (#211563)\n\nWe have various scripts that build and test the library at pinpointed\ncommits: benchmark-historical, run-benchmarks, build-at-commit and\ntest-at-commit. They were handling the compiler in different ways: some\nscripts would just run the libc++ build (or test suite configuration)\nwithout specifying the compiler, which means the $CXX environment\nvariable was used if present. Other scripts (e.g. run-benchmarks) would\naccept the compiler as an argument, but would fail to pass it down when\nconfiguring the test suite, which led to issues.\n\nThis patch passes the compiler explicitly in all scripts: this removes\nany potential confusion around how the compiler should be specified (env\nvar or argument). The only exception is build-at-commit, where the\ncompiler is still specified by passing the appropriate CMake arguments.\nThe reason for this exception is that passing arguments to CMake is\nactually the way we want to configure aspects of the build (and the test\nsuite) in the long term, it\u0027s just that the test suite doesn\u0027t support\nthis cleanly due to the CMake/Lit split at the moment.\n\nIn the longer term, `test-at-commit` should also lose its `--compiler`\nargument in favour of being able to pass CMake parameters to the test\nsuite configuration, but we are not there yet.\n\nGitOrigin-RevId: 7f140055b724bfd0759807b79ee1b8544f023340\n"
    },
    {
      "commit": "f2657b06d7bf7db34b5e411bf8c1f7b7c5ae0cb7",
      "tree": "a0d7603d43331e9ce651bbea16e13ff279bd8bab",
      "parents": [
        "ae6add2718044c7abfd6e053a8a861be67911b7d"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Jul 23 09:38:21 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 06:40:47 2026 -0700"
      },
      "message": "[libc++] Implement any_of in terms of find_if (#207274)\n\nThis way, any optimizations in find_if will be picked up by any_of.\n\nCloses #129310\n\nGitOrigin-RevId: be86221af36d62be2e25a8b6e89ae8199d9dce0a\n"
    },
    {
      "commit": "ae6add2718044c7abfd6e053a8a861be67911b7d",
      "tree": "2a0a604c7b34a28cb8e6244d7e3e777a6575bb17",
      "parents": [
        "210cde3d96017ff6790891ffffd711df7b998d82"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Jul 23 09:21:44 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 06:25:43 2026 -0700"
      },
      "message": "[libc++] Remove workaround for Clang \u003c 20 in clang-tidy plugin (#211314)\n\nThe clang-tidy plugin is now always built with Clang \u003e\u003d 20, so the\nworkaround can be removed.\n\nGitOrigin-RevId: 882a1381942c3bb4208136743ca7d743947a00a2\n"
    },
    {
      "commit": "210cde3d96017ff6790891ffffd711df7b998d82",
      "tree": "ede11f2ca0b222cfd4b06c516c6e1afbcae366d8",
      "parents": [
        "5acafba7c84ef9804ab0c9f801f8f45b7f7629b8"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Jul 23 08:13:39 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 05:15:48 2026 -0700"
      },
      "message": "[libc++] Update release procedure for libc++ \u0026 friends (#210383)\n\nThe release procedure implied that some tasks were done by the release\nmanager, but in practice they are done by the libc++ developers.\n\nAlso, mention using the `llvm-premerge-libcxx-release-runners` runner\nset on the release branch, which was overlooked in the previous notes.\n\nOther than that, minor reformulations.\n\nGitOrigin-RevId: a7d2602abf4f211e8027288f23629f8cc93ec30c\n"
    },
    {
      "commit": "5acafba7c84ef9804ab0c9f801f8f45b7f7629b8",
      "tree": "185780e0dc9bba46e870dbb79de7840b4e4856bf",
      "parents": [
        "3bfa69e1eda8acba782a8871cbb0c7e674adf3ac"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 23 10:17:24 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 01:20:34 2026 -0700"
      },
      "message": "[libc++] Remove some adjacent_view::begin() benchmarks (#210265)\n\nBenchmarking a bunch of very similar values has rather little benefit,\nsince they behave essentially the same.\n\nGitOrigin-RevId: d3fead5912f73a84bd33bf1034175f6fa8de4e76\n"
    },
    {
      "commit": "3bfa69e1eda8acba782a8871cbb0c7e674adf3ac",
      "tree": "beed7a79e111b61d7d1288a0be6ad4a106b4d9c1",
      "parents": [
        "83cfcd9ef10b5013ca39239f568d1880daccefcd"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 23 09:46:47 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 00:51:00 2026 -0700"
      },
      "message": "[libc++] Optimize standard streams with sync_with_stdio(false) (#209161)\n\nThis updates the standard streams so that the buffers are replaced with\n`basic_filebuf`s.\n\nFixes #21566\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nGitOrigin-RevId: 3b7447e00baff23660b49fdcb67ce83a3bf94605\n"
    },
    {
      "commit": "83cfcd9ef10b5013ca39239f568d1880daccefcd",
      "tree": "74931512d75dbbaa9c64a1b2f42d9b7d8b2e2a6e",
      "parents": [
        "db5c270945a6141becd6062cd0f1874ea892063e"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Wed Jul 22 20:27:44 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 10:30:42 2026 -0700"
      },
      "message": "[libc++][NFC] Format and move `transform_view`\u0027s `sentinel.pass.cpp` (#211252)\n\nAs a pre-requisite to: https://github.com/llvm/llvm-project/pull/193891\n\nGitOrigin-RevId: 045c8987eceb67c80a0423fc62dce9acc75f6cb0\n"
    },
    {
      "commit": "db5c270945a6141becd6062cd0f1874ea892063e",
      "tree": "effb60c919ee74bb8705da919f176273728d1620",
      "parents": [
        "4821b55ed6a274cc734382b5738d39032c212b74"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Jul 22 12:38:40 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 09:41:06 2026 -0700"
      },
      "message": "[runtimes] LLVM 24 version bumps (#211262)\n\nThis patch bumps the version of libc++abi and libunwind, and libc++ in\nthe documentation.\n\nGitOrigin-RevId: 743f03189fa76a5daf8211f00f98e81f18e6ecfb\n"
    },
    {
      "commit": "4821b55ed6a274cc734382b5738d39032c212b74",
      "tree": "fae973393ebd47ca130bebb419b39ca6e49d19d0",
      "parents": [
        "7a901fc96c404bd5da9cde5aa986d2eb5eb20fd7"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Jul 22 17:46:13 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 08:50:17 2026 -0700"
      },
      "message": "[libc++] Don\u0027t add #pragma clang attribute with GCC (#206989)\n\nGCC doesn\u0027t support `#pragma clang attribute`, which causes a bunch of\ndiagnostics. Since we have it behind a macro anyways we can simply\ndefine the macro as empty with GCC.\n\nGitOrigin-RevId: 6f3328e869b4d3f11d1b37808fbffab6d822d9aa\n"
    },
    {
      "commit": "7a901fc96c404bd5da9cde5aa986d2eb5eb20fd7",
      "tree": "7a26fb12cd530c1223c3ad8dc39e1a78f0d711dc",
      "parents": [
        "d4e0f8bd0eee4235537b5d9579f3333f19c791cd"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Jul 22 16:16:58 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 07:21:49 2026 -0700"
      },
      "message": "[libc++] Remove redundant benchmarks for lexicographical_compare_three_way (#210268)\n\nWe already test the `_slow_path` and `_fast_path` functions through the\ngeneric `BM_lexicographical_compare_three_way`. We don\u0027t need to\nbenchmark them again.\n\nGitOrigin-RevId: 02c51adb8ff2b2b4c1041ac9f9d260c20ef77cc4\n"
    },
    {
      "commit": "d4e0f8bd0eee4235537b5d9579f3333f19c791cd",
      "tree": "01bc90443d73c5eee55b112b47e929770c44234e",
      "parents": [
        "569aa904b57b3cc924f0f65873c68a1b17491cd7"
      ],
      "author": {
        "name": "Vladimir Vereschaka",
        "email": "vvereschaka@accesssoftek.com",
        "time": "Wed Jul 22 05:37:28 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 05:40:52 2026 -0700"
      },
      "message": "Revert \"[libc++][test] XFAIL `text/text_encoding/environment.pass.cpp` test on Armv7/Linux Ubuntu targets.\" (#211112)\n\nReverts #206188\n\nXFAIL\u0027ed wrong test\n\nGitOrigin-RevId: 04327b1e595ac915a196340a37f48c16e6f489bc\n"
    },
    {
      "commit": "569aa904b57b3cc924f0f65873c68a1b17491cd7",
      "tree": "aec1dd64cdd21d3345cbe9f3f87cac54089dcfb0",
      "parents": [
        "07b64d65a87141c2a1d8586325e678f3670b3dd4"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Jul 22 10:22:00 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 01:25:57 2026 -0700"
      },
      "message": "[libc++] Remove {Pause,Resume}Timing from fast push_back benchmarks (#209130)\n\nThese benchmarks are expected to run for a very short time, and\n`{Pause,Resume}Timing` should only be used when operations are expected\nto take a long time. Removing them reduces the amount of noise in these\nbenchmarks.\n\nFixes #208719\n\nGitOrigin-RevId: c23ad1b869cdcec16275304e1f0b1d419fe35ae9\n"
    },
    {
      "commit": "07b64d65a87141c2a1d8586325e678f3670b3dd4",
      "tree": "1363dcb1eb2d8484ccc1ff59e6426556a3888bb4",
      "parents": [
        "6bde474ea6233b01eaa9235d62b0bf1db4ad559a"
      ],
      "author": {
        "name": "Daniil Kovalev",
        "email": "dkovalev@accesssoftek.com",
        "time": "Tue Jul 21 22:12:00 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 12:15:38 2026 -0700"
      },
      "message": "[PAC][libc++] Fix build with `ptrauth_calls` feature (#211033)\n\nAfter partial revert of #208330 in #209928, the libcxx build started\nfailing because of missing `\u003ccstdint\u003e` include required for `uintptr_t`\ndeclaration used only by code behind `ptrauth_calls` feature check. See\nhttps://lab.llvm.org/buildbot/#/builders/227/builds/3358\n\nThis patch adds the missing include.\n\nGitOrigin-RevId: 12e1c7f70f34d59c023d05d0fe2c228a4e9aac11\n"
    },
    {
      "commit": "6bde474ea6233b01eaa9235d62b0bf1db4ad559a",
      "tree": "5485a02fcafc29da21d5ff8c78b1b4fc94ccc91f",
      "parents": [
        "2a5c7309b4bbdcc4cfaf89d46c2e5f5095ac35b0"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Tue Jul 21 17:20:20 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 08:25:32 2026 -0700"
      },
      "message": "[libc++][ranges] Mark LWG3664 as resolved (#210550)\n\nCloses https://github.com/llvm/llvm-project/issues/105066.\n\nWhen libc++ implemented `ranges::distance` in\nc965d5448ecdf9a5513983862a78a2ba8f7fbab8, LWG3664 was implemented\ntogether. The patch additionally changed cast result type from `const\ndecay_t\u003cI\u003e\u0026` to `decay_t\u003cI\u003e`, which partially implemented LWG4242.\n\nCurrently, we are using `iter_difference_t\u003c_Ip\u003e` as the return type of\none `operator()` overload while LWG3664 modified that overload to return\n`iter_difference_t\u003cdecay_t\u003c_Ip\u003e\u003e`. The change is NFC because when\n`iter_difference_t\u003cdecay_t\u003c_Ip\u003e\u003e` is valid, `iter_difference_t\u003c_Ip\u003e` is\nalso valid and denotes the same type.\n\nReferences:\n- https://wg21.link/LWG3664\n- https://eel.is/c++draft/range.iter.op.distance\n\n---------\n\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nGitOrigin-RevId: 53199a1b9216a15d13da824c9140daf8863438aa\n"
    },
    {
      "commit": "2a5c7309b4bbdcc4cfaf89d46c2e5f5095ac35b0",
      "tree": "833f411bcbbb2b57f37ae368ebacffcc8ab9e67e",
      "parents": [
        "b575e4fda89a53409090b42e26162a4cdee0ed9e"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 21 10:21:27 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 07:25:52 2026 -0700"
      },
      "message": "[libc++] Don\u0027t require complete types in vector\u003cT\u003e::empty() (#210754)\n\nThis was previously not required, but the patch to introduce a new\nsize-based vector layout unintentionally added this new requirement. We\nalmost certainly not want to promise this guarantee going forward, but\nwe should actually land this change explicitly and consider the\ntransition story, not do it as a fallout of another refactoring.\n\nFixes #210732\n\nGitOrigin-RevId: 17ac8fdd95283110a14f1de8c15a0fc661119296\n"
    },
    {
      "commit": "b575e4fda89a53409090b42e26162a4cdee0ed9e",
      "tree": "f5fee910bb9326f1205da4b7661a31e8ae9ebcc6",
      "parents": [
        "e644cb63e5a3b2902507b555c8352b2358c192a4"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 21 09:03:21 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 06:05:34 2026 -0700"
      },
      "message": "[libc++] Fix test-at-commit after df4bb1f3106d (#210983)\n\nGitOrigin-RevId: 2cd5deb2208683bc2d3545e125258a9714f3aef1\n"
    },
    {
      "commit": "e644cb63e5a3b2902507b555c8352b2358c192a4",
      "tree": "9100e2c469c7f421b0c6b82042d43540daf4fc6b",
      "parents": [
        "8b81be9b7d3ebc8525dc8ededc532814a226a901"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Tue Jul 21 12:42:26 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:46:24 2026 -0700"
      },
      "message": "[libc++][pstl] Default implementation of parallel std::adjacent_difference (#207585)\n\nThis PR adds a \"one-liner\" default implementation of parallel\n`std::adjacent_difference` on top of parallel binary `std::transform`.\n\nThe implementation builds two iterator ranges out of the input one, so\nthat a zip of these ranges yields adjacent pairs. Then performs a binary\ntransform to calculate and output the adjacent differences.\n\nPart of https://github.com/llvm/llvm-project/issues/99938\n\nGitOrigin-RevId: 460778b9d64ed36fd7e80a4cc73ea552aebf016b\n"
    },
    {
      "commit": "8b81be9b7d3ebc8525dc8ededc532814a226a901",
      "tree": "59f2f1a501ffcd28cbb0311feebe62bbf99bd38d",
      "parents": [
        "999bd824bbacd8c1c506c24b9c8d0120c961e7c3"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Tue Jul 21 19:41:49 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:46:13 2026 -0700"
      },
      "message": "[libc++] Implement P0493R5: Atomic minimum/maximum (#180333)\n\nCloses #105418.\n\nSince gcc does not currently support `__atomic_fetch_min/max`, we use a\nCAS loop in `atomic_ref` and `support/gcc.h`.\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nGitOrigin-RevId: faaeaf35a50acefd4e25e092e3f720067c40afe3\n"
    },
    {
      "commit": "999bd824bbacd8c1c506c24b9c8d0120c961e7c3",
      "tree": "e9bd5775461a42c89b452db3d6930e0fb8dadeef",
      "parents": [
        "7fde12d68bab891881aab81a78ff792e6757dfab"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Tue Jul 21 12:40:22 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:46:00 2026 -0700"
      },
      "message": "[libc++] Strip cv-refs in __desugars_to specialization for integral types (#208950)\n\nThis PR passes the argument type through `__remove_cvref_t` before\npassing to `is_integral`.\n\nFixes #208236\n\nGitOrigin-RevId: c40a68644c550dcfa3c3d0b560e3aeea1d159d79\n"
    },
    {
      "commit": "7fde12d68bab891881aab81a78ff792e6757dfab",
      "tree": "c3fa7b8b6aa89a770c07f5e858c33a6ca459eba7",
      "parents": [
        "11fa1f9d40e8cad0e2e05bb66ab7f27335246d08"
      ],
      "author": {
        "name": "h-vetinari",
        "email": "h.vetinari@gmx.com",
        "time": "Tue Jul 21 22:34:43 2026 +1100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:35:46 2026 -0700"
      },
      "message": "[libc++][NFC] Re-order availability mapping to `_LIBCPP_INTRODUCED_IN_LLVM_{N}` (#210694)\n\nNoticed that the new additions (from 16f692338cf and 8a531c3608c) were placed\nrather randomly. Put the mapping back to reverse chronological order, see\n783fd2f9d.\n\nGitOrigin-RevId: b8eebf2704f2ebb6894fd952e4f15fdb62270606\n"
    },
    {
      "commit": "11fa1f9d40e8cad0e2e05bb66ab7f27335246d08",
      "tree": "8b103c88ce981ad2c353ff33d941234db32a9052",
      "parents": [
        "6ae25d40c69755874d2c0fab5a8de65a9869189a"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 21 07:23:53 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:26:31 2026 -0700"
      },
      "message": "[libc++] Compose the test suite Lit site config from harness and installation substitutions (#209638)\n\nThis patch restructures how libc++\u0027s Lit site config is generated.\nInstead of relying on the user-selected configuration file to include\nthe CMake bridge, it composes a site configuration from multiple\nindependent bits.\n\nImportantly, it splits substitutions that pertain to the harness setup\n(e.g. where to find Python) and substitutions that pertain to libc++\nitself (e.g. the path to libc++ headers). This split and the top-level\ncomposition of a site config file are incremental steps towards\ndecoupling the test suite from libc++\u0027s own build.\n\nGitOrigin-RevId: df4bb1f3106d39e5c6b767a28c0531efbbebc2d2\n"
    },
    {
      "commit": "6ae25d40c69755874d2c0fab5a8de65a9869189a",
      "tree": "aca620f6a7f0ec137fa5c1feb9e46d60d8598feb",
      "parents": [
        "f937c16457061e0591272e57bccaef9e0b95c471"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 21 07:22:59 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:26:23 2026 -0700"
      },
      "message": "[libc++][NFC] Fix synopsis comment for error_condition::message() (#210724)\n\nThe method was marked as noexcept in the synopsis, but it\u0027s neither\nmarked noexcept in the spec nor in our implementation.\n\nGitOrigin-RevId: 7f49d95c09e8a22a6de737ae6006edbb3a0adfca\n"
    },
    {
      "commit": "f937c16457061e0591272e57bccaef9e0b95c471",
      "tree": "73792513e6872786fd329e7f8b2794b3144ab195",
      "parents": [
        "916e339121c2e1864706ed1b4d11febabf68ea4b"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 21 07:21:22 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:26:14 2026 -0700"
      },
      "message": "[libc++] Include sizes in string benchmark names (#210795)\n\nOtherwise we\u0027d have duplicate benchmark names.\n\nGitOrigin-RevId: f8e258866980da486756e241016dd33ae68450be\n"
    },
    {
      "commit": "916e339121c2e1864706ed1b4d11febabf68ea4b",
      "tree": "f099fe6d3a28993009b8115ab65a7fb42209573f",
      "parents": [
        "be063218097e23f4d11b4eba3ede326f990c1af6"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Mon Jul 20 23:52:15 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 13:55:42 2026 -0700"
      },
      "message": "[libc++][ranges][NFC] Format a couple of `elements_view` tests (#210687)\n\nAs a pre-requisite for https://github.com/llvm/llvm-project/pull/193891\n\nGitOrigin-RevId: 8d5788cae76da2b82d1330fb070f622cda870adb\n"
    },
    {
      "commit": "be063218097e23f4d11b4eba3ede326f990c1af6",
      "tree": "da019f2ed181e07d47d2953e7126776378835f35",
      "parents": [
        "8dd7f4fc342eca2459dced641870de44009e6527"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Tue Jul 21 01:29:51 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 10:35:29 2026 -0700"
      },
      "message": "[libc++][docs] Avoid talking about other implementations on DR status (#210637)\n\nStandard library implementations consistently treat (or will\nconsistently treat) some LWG papers as Defect Reports that are also\napplied to old modes, despite that they are not officially listed as\nDefect Reports in WG21 meeting minutes. We used to say \"other\nimplementations (namely MSVC STL and libstdc++) will do the same\" for\nsome of them.\n\nHowever, such sentences will become outdated soon when other\nimplementations actually do so. It is possibly better to avoid saying\nso, which potentially requires synchronizing our documentation with\nother implementations.\n\nGitOrigin-RevId: b559a53427f926a603a1755f60d98e06e2b7e1d2\n"
    },
    {
      "commit": "8dd7f4fc342eca2459dced641870de44009e6527",
      "tree": "7a518906897a8aad9457dfa70f380878aea2650a",
      "parents": [
        "df452020b9a479f870843689b4f60dcad87eb00b"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Jul 20 09:38:04 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 06:40:53 2026 -0700"
      },
      "message": "[libc++] Bring std::{any,all,none}_of tests up to current standards (#209266)\n\nThe tests for these algorithms were minimal, didn\u0027t test all iterator\ncategories, and the constexpr coverage didn\u0027t follow our current\npractice. This patch brings all three tests (which are very similar) up\nto our current standards.\n\nAssisted by Claude\n\nGitOrigin-RevId: faf7261308da236627ae8f813d17d6e1ef1e9d68\n"
    },
    {
      "commit": "df452020b9a479f870843689b4f60dcad87eb00b",
      "tree": "63068e9073416bdaa945ea5d77bf3e15b7cf3ead",
      "parents": [
        "6662ed7419a459d97cb8cc7e44cd2d59bc90f4d3"
      ],
      "author": {
        "name": "Hubert Tong",
        "email": "hubert.reinterpretcast@gmail.com",
        "time": "Mon Jul 20 09:36:43 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 06:40:43 2026 -0700"
      },
      "message": "[libc++][utils] Fix LIT `%if` substitution support (#209358)\n\nUpdate the applySubstitutions call in `libcxx/utils/libcxx/test/format.py` to match the\nchange to `llvm/utils/lit/lit/TestRunner.py` done in 1041a9642ba0.\n\nGitOrigin-RevId: a8617034c4a7cc733676a31b736d3118fec34259\n"
    },
    {
      "commit": "6662ed7419a459d97cb8cc7e44cd2d59bc90f4d3",
      "tree": "54dab5a7ecd864a3ae0cfbcffe55e0fbf3342ac5",
      "parents": [
        "1a284d9a5873a8924b91af2cf5ae530708672876"
      ],
      "author": {
        "name": "Thurston Dang",
        "email": "thurston@google.com",
        "time": "Mon Jul 20 06:13:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 06:15:59 2026 -0700"
      },
      "message": "[libc++][test] Fix build failure from typo in #171785 (#210552)\n\nIf `__STDCPP_DEFAULT_NEW_ALIGNMENT__` is not defined, these tests will\nfail to build due to a typo that was added in #171785.\n\nGitOrigin-RevId: 03b780679bdb5152aef0182dfc8b2f1d182a94e0\n"
    },
    {
      "commit": "1a284d9a5873a8924b91af2cf5ae530708672876",
      "tree": "1c0516f2c8e6c0ea8c503e851a9d3ec26fcac969",
      "parents": [
        "5a1bcc2e689b4176ca0309ddc7d95cb2d315a351"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Mon Jul 20 12:23:58 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 02:26:28 2026 -0700"
      },
      "message": "[libc++][test][NFC] Removed unsupported compilers from tests (#210413)\n\nGitOrigin-RevId: 39a2c6a695f9d045b05fd5798a7cb99f3c7425a7\n"
    },
    {
      "commit": "5a1bcc2e689b4176ca0309ddc7d95cb2d315a351",
      "tree": "fa213d4fd4114ffa234b20a7dc60acc112a114c4",
      "parents": [
        "506b2227faa4e834101cefd258477d28589d2529"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Mon Jul 20 12:23:30 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 02:26:17 2026 -0700"
      },
      "message": "[libc++][NFC] Removed duplicated `_LIBCPP_INTRODUCED_IN_LLVM_23` macros (#210602)\n\nRemoved the redundant macros, which apparently were added by two\ndifferent patches.\n\nGitOrigin-RevId: eec2f0916d44c33beac52f4396c7a9c98b0c9cf6\n"
    },
    {
      "commit": "506b2227faa4e834101cefd258477d28589d2529",
      "tree": "9fb918dafaa384df53e518d4fac2aa73456c3b5e",
      "parents": [
        "da8359e3b877c8179f202a31b941c71f2ed58750"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Mon Jul 20 12:23:06 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 02:26:09 2026 -0700"
      },
      "message": "[libc++][ranges][NFC] Format `lazy_split_view` (#210644)\n\nPre-requisite for: https://github.com/llvm/llvm-project/pull/193891\n\nGitOrigin-RevId: ead8fd8e29fbf3774b7a08bf7b991c2ada30112b\n"
    },
    {
      "commit": "da8359e3b877c8179f202a31b941c71f2ed58750",
      "tree": "4cd94c6754e085bf87a123789e933da6bfe7d246",
      "parents": [
        "75145e7c2d08446758c6149a551a089fa711c743"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Jul 20 10:35:29 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 01:40:46 2026 -0700"
      },
      "message": "Reapply \"[libc++][NFC] Inline std::function members into the class body\" (#209555) (#210260)\n\nThis caused LLDB to fail, which has been fixed now.\n\nThis reverts commit 7618426138aae95561da676a1d1e10ee0392bf78.\n\nGitOrigin-RevId: 4234ff65326237102157875f6ddf098355864178\n"
    },
    {
      "commit": "75145e7c2d08446758c6149a551a089fa711c743",
      "tree": "5754941acac93f2378e0fd1cee24e122a84891a6",
      "parents": [
        "22f1491b485002f69994375dc5e97063757dde76"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Mon Jul 20 15:32:23 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 00:35:26 2026 -0700"
      },
      "message": "[libc++] Add tests for LWG3798 and mark it as Complete (#210640)\n\nGitOrigin-RevId: 99789ca18a7982a0b8d63e681d957590f67455c4\n"
    },
    {
      "commit": "22f1491b485002f69994375dc5e97063757dde76",
      "tree": "9b507b583fb93433e25cabbf45761205c309c19c",
      "parents": [
        "c0a306cbe86c1430071ee8ef934dc5e098ddf877"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Mon Jul 20 05:47:58 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 19 19:50:27 2026 -0700"
      },
      "message": "[libc++][cmp][NFC] Fix: Empty namespaces should be avoided (#210624)\n\nContext: Including `\u003c__utility/cmp.h\u003e` causes:\n\n\u003e cmp.h:25:1: error: Empty namespaces should be avoided. Move any checks\naround the namespace instead.\n[libcpp-avoid-empty-namespaces,-warnings-as-errors]\n\nGitOrigin-RevId: 53c6ce165aef58e1885d574c1ec597d091c3c8fc\n"
    },
    {
      "commit": "c0a306cbe86c1430071ee8ef934dc5e098ddf877",
      "tree": "62dc2ce1ba43e63d8224ab63ffc9afab8ac61823",
      "parents": [
        "5508a5da5909978bcecb3be1b2981bc8d1ff8a2f"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Sun Jul 19 17:47:01 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 19 17:50:33 2026 -0700"
      },
      "message": "[libcxx][NFC] Address -Wmicrosoft-cast in MSVC\u0027s exception_ptr (#210570)\n\nThis was introduced as part of #94977. Rather than suppressing the\nwarning with `#pragma clang diagnostic ignored`, we use\n`reinterpret_cast` to avoid the implicit conversion.\n\nGitOrigin-RevId: 16ffd27e3737c01cbabad6eed77b919dc977ad6c\n"
    },
    {
      "commit": "5508a5da5909978bcecb3be1b2981bc8d1ff8a2f",
      "tree": "1cb6dff8b31a687219d2f39d6a62cb79e7518b90",
      "parents": [
        "61caf1c1040a9f5d25aed1a4392be3164e7b0bb0"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Sun Jul 19 15:37:05 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jul 19 06:40:33 2026 -0700"
      },
      "message": "[libc++][ranges] Add missing test cases for `[[nodiscard]]` tests in `enumerate_view` (#209289)\n\nAddresses missing `[[nodiscard]]` test cases for\n`std::views::enumerate`.\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nGitOrigin-RevId: 5c7dc8e7d72e8f833e5fa4d4790e93ff76b51304\n"
    },
    {
      "commit": "61caf1c1040a9f5d25aed1a4392be3164e7b0bb0",
      "tree": "646446b2761cb6af6017abb46ef0313cfec55f6b",
      "parents": [
        "54b7af1674c821a209bc3732f7594994c2e1ad7f"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Jul 17 14:18:36 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 14:21:06 2026 -0700"
      },
      "message": "Revert \"[lit] Delete the external shell\" (#210433)\n\nReverts llvm/llvm-project#209571\n\nBreaks some buildbots:\n1.\nhttps://lab.llvm.org/buildbot/#/builders/232/builds/3690/steps/11/logs/stdio\n2. https://lab.llvm.org/buildbot/#/builders/222/builds/11180\n\nGitOrigin-RevId: 9eb2dc0930ac75494e71b16739c859fe338a3f0f\n"
    },
    {
      "commit": "54b7af1674c821a209bc3732f7594994c2e1ad7f",
      "tree": "b9c801a9f4be5285bf696a7739735e4d0bcdaa85",
      "parents": [
        "1dc3fc381acd53bd413a67487f141dfcc1fc95e3"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Jul 17 13:55:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 14:00:56 2026 -0700"
      },
      "message": "[lit] Delete the external shell (#209571)\n\nThis was deprecated in LLVM 23 and slated for removal in LLVM 24. Now\nthat we have branched and everything has been updated to not set\nexecute_external, we can remove it.\n\nGitOrigin-RevId: 1e37b629fbd06d922ac1216cf20114ea4ce1c88d\n"
    },
    {
      "commit": "1dc3fc381acd53bd413a67487f141dfcc1fc95e3",
      "tree": "646446b2761cb6af6017abb46ef0313cfec55f6b",
      "parents": [
        "510d45596854e0a703156c282ca36a75153d5f0d"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Jul 17 13:10:00 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 10:15:28 2026 -0700"
      },
      "message": "[libc++] Update release runners to the image that was used on main at the branch point (#210378)\n\nThis will allow retaining a stable image for CI throughout the whole\nLLVM 23 release.\n\nGitOrigin-RevId: 53c048b3732610c8d2d65c1d41603de26eb6ac4e\n"
    },
    {
      "commit": "510d45596854e0a703156c282ca36a75153d5f0d",
      "tree": "de0ad4455fdc6fbf0af0b7d650fbab2babc5c11f",
      "parents": [
        "ab04fc68891b0b08c3d09f2786d74a23e1f422f8"
      ],
      "author": {
        "name": "cqwrteur",
        "email": "oyzawqgcfc@gmail.com",
        "time": "Fri Jul 17 17:11:45 2026 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 02:15:56 2026 -0700"
      },
      "message": "[libcxx] avoid include Uppercase windows headers (#208903)\n\nWe should use unknwn.h and windows.h instead of Unknwn.h and Windows.h\nbecause Linux and other non‑Windows systems treat filenames as\ncase‑sensitive. Windows does not, so mixed‑case includes work there but\nbreak elsewhere. Both mingw‑w64‑crt and windows‑msvc‑sysroot provide all\nWindows headers in fully lowercase, so using the lowercase forms ensures\nconsistent cross‑platform builds.\n\nFixes #208901\n\nGitOrigin-RevId: 2580624091e36b85c162439513eef8e752217a1d\n"
    },
    {
      "commit": "ab04fc68891b0b08c3d09f2786d74a23e1f422f8",
      "tree": "2123c594252bf22d98741fb29339bd32a6161d4c",
      "parents": [
        "a3f5cc92cc696fb9fb2f3699cc0eee7ab8caecbc"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Jul 16 16:46:46 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 07:51:36 2026 -0700"
      },
      "message": "[libc++] Optimize std::is_heap_until (#209141)\n\nFixes #208299\n\nGitOrigin-RevId: 122efb26893f7e214d0223615c3a4abcc0ac7796\n"
    },
    {
      "commit": "a3f5cc92cc696fb9fb2f3699cc0eee7ab8caecbc",
      "tree": "21e3f914cb146e632924c2d9b3c4c33b5f0db80a",
      "parents": [
        "30bddc52573b52559c22f88e8498ba2b9af5361c"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Thu Jul 16 05:15:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 05:20:45 2026 -0700"
      },
      "message": "[libc++] Partially revert #208330 (#209928)\n\nWe found out that the new mechanism for detecting overriden functions\ndoes not support Arm Pointer Authentication (PAuth). Addressing this\nlimitation is going to require changes to Clang. In the meantime, we\nswitched back to the old mechanism when PAuth is enabled.\n\nGitOrigin-RevId: db7356dde8312a86e79ec0d7b7f844878a1a743c\n"
    },
    {
      "commit": "30bddc52573b52559c22f88e8498ba2b9af5361c",
      "tree": "b81c3f0cf71e83e55c6ee81c9b2497c1b4eda553",
      "parents": [
        "9b351fd8b183ca76ac197df17b5c6a31255e1575"
      ],
      "author": {
        "name": "Paul Kirth",
        "email": "paulkirth@google.com",
        "time": "Wed Jul 15 13:01:52 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 05:20:35 2026 -0700"
      },
      "message": "[libcxx] Mark test unsupported in clang-24 (#209794)\n\nAfter the version bump, we started seeing this test fail. For now mark\nit unsupported in newer LLVM versions, until the underlying issue can be\naddressed. More details can be found in #209787.\n\nGitOrigin-RevId: 85204d0bce5b24fba24baa0b440b051b6d040f4c\n"
    },
    {
      "commit": "9b351fd8b183ca76ac197df17b5c6a31255e1575",
      "tree": "e71f1e6d9400f758826dced99c1a4c907f8e0eb8",
      "parents": [
        "08b37b6ea91d5f19dbd5ae0e865155474692a561"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Jul 15 13:24:03 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 10:25:49 2026 -0700"
      },
      "message": "[libc++] Treat negative counts in copy_n \u0026 friends as no-ops (#207086)\n\nThe standard specifies copy_n, fill_n and generate_n (both std and\nranges) to be no-ops when passed a negative count. This patch fixes\nlibc++ to abide by that requirement, with tests.\n\nIt\u0027s worth noting that std::for_each_n makes n \u003e 0 a precondition\ninstead: we add the check and tests for it.\n\nFixes #193613\n\nGitOrigin-RevId: f4120c4a1d0daaac81983df10a809df883b25173\n"
    },
    {
      "commit": "08b37b6ea91d5f19dbd5ae0e865155474692a561",
      "tree": "2b613b2477191b9f246c48c51d895d9f05624ab4",
      "parents": [
        "973922f0f1417fc7494ecd67b4fc641198b40179"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Jul 15 13:22:25 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 10:25:41 2026 -0700"
      },
      "message": "[libc++] Add benchmarks for std::binary_search and std::equal_range (#207268)\n\nThe found and not-found paths are measured as separate benchmarks. For\nequal_range we additionally cover a unique match, a large equal range,\nand an absent key.\n\nAs a drive-by, add a predicate variation to the existing lower_bound and\nupper_bound benchmarks.\n\nGitOrigin-RevId: 0a933be62ea9fb3c6835ffa37852ef9a0288bccf\n"
    },
    {
      "commit": "973922f0f1417fc7494ecd67b4fc641198b40179",
      "tree": "2246e64e2974d346a2913febbc7eef304b60cf8c",
      "parents": [
        "e76b8a13fe49e0afd16a70925affadd9dbcc9926"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Jul 15 13:21:26 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 10:25:30 2026 -0700"
      },
      "message": "[libc++] Add benchmarks for std::replace_copy and std::replace_copy_if (#207070)\n\nAssisted by Claude\n\nGitOrigin-RevId: a16f3a09415d28928b1e5133ad63ad3d2d97fa99\n"
    },
    {
      "commit": "e76b8a13fe49e0afd16a70925affadd9dbcc9926",
      "tree": "e3b2cbc10b11c7378ffa1dea04ee11e0d89aca5c",
      "parents": [
        "1c4414cdf681f1bf56843535833a6f3466c1d6b5"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Wed Jul 15 09:58:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 10:00:46 2026 -0700"
      },
      "message": "[libcxx][libc] update LLVM-libc test status (#201236)\n\nThis update removes some unnecessary carveouts, marks some newly\nXFAILing tests, and unmarks some now passing tests.\n\nWith this change the status of tests is:\nTotal Discovered Tests: 11471\n  Unsupported      : 2098 (18.29%)\n  Passed           : 9260 (80.73%)\n  Expectedly Failed:  113 (0.99%)\n\nAssisted-by: Automated tooling, human reviewed.\nGitOrigin-RevId: 0cf914adef4b0f1f5251354b91f5c709b95b1b1e\n"
    },
    {
      "commit": "1c4414cdf681f1bf56843535833a6f3466c1d6b5",
      "tree": "561b70dad4f84d767b07b25cd154e7d7ccb7d1dc",
      "parents": [
        "3143fae397f31459e189318e04d46765537da1c8"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Jul 15 07:55:45 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 05:00:35 2026 -0700"
      },
      "message": "[libc++] Create libc++ 24 release notes (#208814)\n\nNow that the LLVM 23 branch has been created, this adds LLVM 24 release\nnotes. The release notes contain a few TODOs which will be easy to\naddress in separate PRs.\n\nGitOrigin-RevId: 5b3b76e77386b6e91c7627edb3beab64077e379f\n"
    },
    {
      "commit": "3143fae397f31459e189318e04d46765537da1c8",
      "tree": "203894da690ddca8f333d741186a66db8688d8c0",
      "parents": [
        "bd7809835aaee401879bbbb6a0ef17cd3dfc7a83"
      ],
      "author": {
        "name": "Eli Friedman",
        "email": "efriedma@qti.qualcomm.com",
        "time": "Tue Jul 14 13:54:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 13:55:28 2026 -0700"
      },
      "message": "Make ios_base::xalloc non-atomic with LIBCXX_ENABLE_THREADS\u003dOFF. (#208356)\n\n762b77a moved the definition of \"xindex\" out of the header, and in the\nprocess dropped the _LIBCPP_HAS_THREADS check. Re-add the check to\nmaintain the status quo.\n\nThe discussion on https://github.com/llvm/llvm-project/pull/198994\nindicates it\u0027s not clear whether LIBCXX_ENABLE_THREADS\u003dOFF is actually\nsupposed to mean single-threaded. But it clearly does in practice:\natomic_support.h uses non-atomic ops when threads are disabled, and a\nfew other APIs have explicit non-atomic fallback paths.\n\nMy team ran into this trying to run libc++ tests for a RISC-V core\nwithout the \"a\" extension.\n\nGitOrigin-RevId: 3eb929be5e17d66900020bd1caa7d2510d4f9601\n"
    },
    {
      "commit": "bd7809835aaee401879bbbb6a0ef17cd3dfc7a83",
      "tree": "f3c1430938021b4d5259bc9280485403f6a0c306",
      "parents": [
        "c64207e25898db032ef5922d46e77321864e93a8"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jul 14 16:52:34 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 13:55:19 2026 -0700"
      },
      "message": "[libc++] Compute a confidence interval in compare-benchmarks (#208090)\n\nWhen comparing benchmark results with more than one sample per\nbenchmark, compute a confidence interval and flag rows that are\nstatistically significant. This should make the A/B comparison PR job\nmore robust to noise and easier to rely on. After this change, output\nfor a multi-sample run looks like:\n\n```\nBenchmark                         Baseline    Candidate    Difference    % Difference   Significant?   95% C.I. of %diff\n------------------------------  ----------  -----------  ------------  --------------  --------------  -------------------\nstd::any_of(list\u003cint\u003e)/32            39.92        39.22         -0.70          -1.75%                  [-6.5%, +1.6%]\nstd::any_of(list\u003cint\u003e)/32768      54071.34     65395.51      11324.17          20.94%                  [-2.8%, +34.5%]\nstd::any_of(list\u003cint\u003e)/50            67.39        69.08          1.69           2.51%        x         [+0.2%, +4.7%]\nstd::any_of(list\u003cint\u003e)/8              7.21         6.46         -0.75         -10.40%        x         [-25.0%, -0.7%]\nstd::any_of(list\u003cint\u003e)/8192       21745.58     22299.32        553.74           2.55%                  [-20.3%, +38.4%]\nstd::any_of(vector\u003cint\u003e)/32          24.21        14.61         -9.60         -39.65%        x         [-41.2%, -38.4%]\nstd::any_of(vector\u003cint\u003e)/32768    24365.14     12498.21     -11866.93         -48.70%        x         [-48.9%, -48.6%]\nGeomean                             324.15       247.83        -76.32         -23.54%\n```\n\nThe confidence interval is computed based on the mean of the N samples,\nbut we still present the median of N in the results. Because of that,\nthe result is not centered within the confidence interval, and we must\nreport it as [low, high] instead of a single number. The general idea is\nthat if 0% falls within the confidence interval, we can\u0027t really be\ncertain that the result changed at all. Similarly, if significant\nnegative and positive % diffs are in the confidence interval, we can\u0027t\nbe confident that we are introducing an optimization, regression, or any\nchange at all.\n\nI think this approach is reasonable given the small number of samples\n(usually around 3), which severely limits the statistical methods\navailable to us.\n\nAssisted by Claude\n\nGitOrigin-RevId: d9f6dbca81714fd5ee1c5aaf656fed6b0b5a4c01\n"
    },
    {
      "commit": "c64207e25898db032ef5922d46e77321864e93a8",
      "tree": "c8f0e27724b8438a73b440cfe91a058cdeb40954",
      "parents": [
        "e493de2fd4022a09653a750e03ae91001a710c3e"
      ],
      "author": {
        "name": "Liza Burakova",
        "email": "liza@chromium.org",
        "time": "Tue Jul 14 14:26:11 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 11:30:33 2026 -0700"
      },
      "message": "[libc++][pstl] Add missing #pragma GCC system_header to libdispatch.h (#209579)\n\nThis adds `#pragma GCC system_header` to libdispatch.h, as removing the\n`[system]` attributes in the modulemap surfaced this gap.\n\nGitOrigin-RevId: 3e706075dc1857e88a293b8104c81b31a08f4cd5\n"
    },
    {
      "commit": "e493de2fd4022a09653a750e03ae91001a710c3e",
      "tree": "fdf3d40c851570ad5e9b2123035eb0d82720ee92",
      "parents": [
        "ec23107b7b98ec2af6d85a2f00c54606c6e3d553"
      ],
      "author": {
        "name": "Felipe de Azevedo Piovezan",
        "email": "fpiovezan@apple.com",
        "time": "Tue Jul 14 18:12:19 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 10:15:52 2026 -0700"
      },
      "message": "Revert \"[libc++][NFC] Inline std::function members into the class body\" (#209555)\n\nReverts llvm/llvm-project#209461\n\nThis is breaking LLDB testing bots and it also failed pre-merge CI.\n\nGitOrigin-RevId: 7618426138aae95561da676a1d1e10ee0392bf78\n"
    },
    {
      "commit": "ec23107b7b98ec2af6d85a2f00c54606c6e3d553",
      "tree": "ce2fd1494a45f48fe1557615639db5391ced4c68",
      "parents": [
        "7af2b16b3a8e1388b046765e1a52aaf5b7059e88"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Tue Jul 14 20:07:48 2026 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 10:10:25 2026 -0700"
      },
      "message": "[libc++][ranges][NFC] Format `view.interface.pass.cpp` (#209391)\n\nA prerequisite to #205012\n\nGitOrigin-RevId: 9c7d1d2fe0d607b0cd5cfca1b8bb9ea6eee374ec\n"
    }
  ],
  "next": "7af2b16b3a8e1388b046765e1a52aaf5b7059e88"
}
