)]}'
{
  "log": [
    {
      "commit": "ae31509b67a5e72bcec3adca92ed6cf05030b2ba",
      "tree": "bbb77a8864927261778b4f28a08e1415b210be6c",
      "parents": [
        "b0140a911fe041adb708a67d116477ac9f1fef64"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Fri Nov 06 18:48:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 18:53:00 2026"
      },
      "message": "[libcxx] Simplify locale support for Fuchsia (#239100)\n\nRemove all unnecessary logic and use the no_locale implementations.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3f0916ec0b1904c34002ab546aa68ecc7df0ffed\n"
    },
    {
      "commit": "b0140a911fe041adb708a67d116477ac9f1fef64",
      "tree": "5e01fd3f18d03f32fc0bcbaaabb3a45f062d75c6",
      "parents": [
        "96e0216d6580646d9f2933cec248da25130a8bb9"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Nov 06 18:23:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 18:29:56 2026"
      },
      "message": "Revert \"[libc++] Allow the compiler to reorder computation in reduction loops\" (#239721)\n\nReverts llvm/llvm-project#237918\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a54fb533614bea93d9ddb2704b81869a2c2c6952\n"
    },
    {
      "commit": "96e0216d6580646d9f2933cec248da25130a8bb9",
      "tree": "6159ef0feb927128a82954cfc1f39147240b4d9a",
      "parents": [
        "4440328883b8c532b8c79e15a0d3245ea898d639"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Nov 06 16:23:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 16:27:35 2026"
      },
      "message": "[libc++][pstl] Implementation of parallel inclusive scan based on decoupled lookback (#238772)\n\nThis PR adds a new basis operation to the `statpart` backend:\n`__lookback_scan()`.\nThis function is a basic building block for the family of single-pass\nscanning operations: `inclusive_scan`, `exclusive_scan`,\n`transform_inclusive_scan`, `transform_exclusive_scan`, `copy_if`,\n`remove`, `remove_if`, `remove_copy`, `remove_copy_if`, `unique`,\n`unique_copy`.\nThe approach is based on the paper \"Single-pass Parallel Prefix Scan\nwith Decoupled Look-back\".\n\nThe first algorithm to use it is `std::transform_inclusive_scan()`,\nwhose implementation is also included in the patch.\nSince the declarations and the tests were already provided previously,\nnow this algorithm becomes parallel when the `statpart` backend is used.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f021128a32cab5584c706f771798b19d855f4e8b\n"
    },
    {
      "commit": "4440328883b8c532b8c79e15a0d3245ea898d639",
      "tree": "499787276f6a572c7e1b2b6687a39a4b9720b997",
      "parents": [
        "2488e04b17a8903354089c1338318f22f8f25d44"
      ],
      "author": {
        "name": "anant",
        "email": "anant1234466@gmail.com",
        "time": "Fri Nov 06 12:50:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 12:57:33 2026"
      },
      "message": "[libc++] Mark LWG4269 as Complete and test unique_copy argument order (#239085)\n\nLWG4269 changes the specification of unique_copy so that the predicate\nis called with the earlier element as the first argument, consistent\nwith unique.\n\nlibc++ already conforms to this in all three implementation strategies\nof std::unique_copy and in ranges::unique_copy, so no library code\nchanges are needed. This is considered completed together with\nranges::unique{_copy} in 62f1e6638158d8848777a29d9d142bb5481c7b67 (LLVM\n15, backported from 72f57e3a30d597346feec74cf626796b0055680f in LLVM\n16).\n\nThis adds regression tests verifying that the earlier element is passed\nfirst across iterator categories, ranges, and projections, and marks\nLWG4269 as complete in Cxx26Issues.csv.\n\nFixes #171326\n\nSigned-off-by: anant \u003canant1234466@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d5e6df6d966a39b2e688f6421da910ac5e125385\n"
    },
    {
      "commit": "2488e04b17a8903354089c1338318f22f8f25d44",
      "tree": "f39008fbfcca608974a1ce145a519bde13f0d196",
      "parents": [
        "74f9b044de59de2ce781ac5d4608776754797f24"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Nov 06 11:59:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 12:02:29 2026"
      },
      "message": "[libc++][pstl] Add serial implementations of partitioning algorithms to PSTL (#234598)\n\nThis PR adds serial implementations of the partitioning algorithms to\nPSTL.\nThey are added to the serial backend only, such that any other backend\ncan fall back to these implementations.\nCurrently there\u0027s no intent to provide parallel versions of these\nalgorithms, but later they can be added as well.\n\nThese are the added algorithms:\n- `std::partition`\n- `std::stable_partition`\n- `std::partition_copy`\n\nIncluded tests check that:\n- Semantics of the functions is correct.\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\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c274a51b3b5fc07c6779604939c6af3be02a01d7\n"
    },
    {
      "commit": "74f9b044de59de2ce781ac5d4608776754797f24",
      "tree": "86e1f06e279ec5970fae57674e6b478dbf24dfcc",
      "parents": [
        "6bccd2a2eef92f425417176f442e2f5434d8d1db"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Fri Nov 06 06:11:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 06:18:31 2026"
      },
      "message": "[libc++] Added FTMs from Hagenberg 2025 and earlier (#233352)\n\nAdded:\n1. Missing FTMs from Hagenberg Meeting 2025\n2. Missing FTMs from Wroclaw Meeting 2024\n3. Added all remaining FTMs related to hardening\n4. Corrected the status of FTM constexpr queue\n\nReferences:\n  - https://wg21.link/version.syn#2\n  - https://wg21.link/version.syn#3\n  - https://github.com/orgs/llvm/projects/31/views/11\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0dfd901f375793105872436d77d505a7f2343b42\n"
    },
    {
      "commit": "6bccd2a2eef92f425417176f442e2f5434d8d1db",
      "tree": "8f886e5e560d5288ba0edaf82bae50ddada03c40",
      "parents": [
        "7f15f9ccbd9e31e1d01660e5c00a2b5a80d3f171"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Fri Nov 06 05:17:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 05:22:27 2026"
      },
      "message": "[libc++][docs] Introduce `Experimental` Implementation Status (#235526)\n\nResolves #234320\n\nIntroduces a new |Experimental| tag in which to mark experimental paper\nimplementations.\n\nThis also marks `optional::iterator`, `chrono::tzdb` (and related items)\nand `\u003csyncstream\u003e` implementations as experimental based on the testing\n`params.py`.\n\nPSTL is deliberately left alone as I understand it is still in active\ndevelopment.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bd654a85865bdfa48f926e679a12d32b39d1eba0\n"
    },
    {
      "commit": "7f15f9ccbd9e31e1d01660e5c00a2b5a80d3f171",
      "tree": "007b2734784c59a6ad4f90de463e3e64e03546c2",
      "parents": [
        "33315070796adcd1a93464e15a0e1f3bc943fb7c"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Nov 06 03:42:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 03:50:42 2026"
      },
      "message": "[libc++] Adapt the LNT tooling to the new format of GET /series (#239352)\n\nLNT\u0027s GET /series endpoint now accepts several metrics at a time, which\nchanges slightly its output format. Update the scripts to account for\nthat.\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 96f74c47afa67c6aaaad739b6a7877172fbd61fd\n"
    },
    {
      "commit": "33315070796adcd1a93464e15a0e1f3bc943fb7c",
      "tree": "86681eea286160c9132040bde684d858515f4c85",
      "parents": [
        "f1d697693bfa86719b0cff75bdd6c8b89c0c4545"
      ],
      "author": {
        "name": "gulfemsavrun",
        "email": "gulfem@google.com",
        "time": "Fri Nov 06 03:14:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 03:19:52 2026"
      },
      "message": "Revert \"[libc++] Use glibc random APIs for std::random_device on Linux\" (#239435)\n\nReverts llvm/llvm-project#222567 because because it broke\n`std/numerics/rand/rand.device/ctor.pass.cpp` on\nhttps://ci.chromium.org/b/8665994883795746673 as reported in\nhttps://github.com/llvm/llvm-project/pull/222567#issuecomment-6673158574.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7907a622d07ac3df366c14f794cdfd689414d7bc\n"
    },
    {
      "commit": "f1d697693bfa86719b0cff75bdd6c8b89c0c4545",
      "tree": "6222c3464fc10e483122cfbb29c6cd0ce86cf3ba",
      "parents": [
        "3c7f1bb642073c47faaf9a583f744ff1d6df4481"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Nov 05 17:07:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 17:17:47 2026"
      },
      "message": "[libc++] Rewrite some std::allocator verify tests (#238802)\n\nThey were written in a way that makes it look like they are executed,\nwhen in reality they aren\u0027t.\n\nThe underlying motivation for rewriting is that some of the verify\nchecks were written inside `assert(...)`, which made them fail if the\n`assert` macro expands to nothing or expands to something that evaluates\nthe expression twice (both of which are terrible implementations of\nassert).\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 438673e6a499dd76d592af7eaeb9e05fc29b31e6\n"
    },
    {
      "commit": "3c7f1bb642073c47faaf9a583f744ff1d6df4481",
      "tree": "d382c5a89de79f37a98a46806d128baa588018a0",
      "parents": [
        "a969b5c08c1a6d679a0d84243e216f0d81c3f6cc"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Thu Nov 05 12:37:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 12:42:23 2026"
      },
      "message": "[libc++][pstl] Statpart backend is unconditionally used when threading is enabled (#237177)\n\nThis PR removes the CMake parameter `LIBCXX_PSTL_BACKEND` and instead\nmoves the backend selection logic purely into the source code:\n- If libc++ is built with threading (`_LIBCPP_HAS_THREADS\u003d1`), the\n`statpart` PSTL backend is used.\n- Otherwise, the `serial` PSTL backend is used.\n\n`pstl/statpart.cpp` is now added to `LIBCXX_EXPERIMENTAL_SOURCES`\nunconditionally.\nThis also cleans up a few places where the CI is now complaining since\nthe new backend is used.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fed3c60941abf37f77fca3742f6edc7ddd3541ca\n"
    },
    {
      "commit": "a969b5c08c1a6d679a0d84243e216f0d81c3f6cc",
      "tree": "048b436a19550ee6a68ea796786dfc349e70edaf",
      "parents": [
        "f45e4bc7255a611cca02e48e26149244411da0d4"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Thu Nov 05 10:25:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 10:34:57 2026"
      },
      "message": "[libc++] Allow the compiler to reorder computation in reduction loops (#237918)\n\nThis PR allows Clang to vectorize and interleave loops in the reduction\nalgorithms: `std::reduce` and `std::transform_reduce`.\nThis is permitted by\nhttps://eel.is/c++draft/numerics.defns#lib:GENERALIZED_SUM.\n\nCurrently it\u0027s enabled only for Clang, it\u0027s unclear if GCC has a direct\nequivalent.\n\nA new macro `_LIBCPP_ENABLE_LOOP_VECTORIZATION` is tentatively placed in\n`__configuration/attributes.h`, though it\u0027s not an attribute per-se.\nIdeally we might want to refactor `__configuration/pstl.h` to be less\nPSTL-specific and put the new macro there instead.\n\nPart of #234887\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 22e6c38a528ad2c2c5f317c23c3436a313ce9fb9\n"
    },
    {
      "commit": "f45e4bc7255a611cca02e48e26149244411da0d4",
      "tree": "4259b3d056974bdc6dcbcc1a721197c2fc0997a9",
      "parents": [
        "637e539470e743aab2c0f09790bdd8edb830be5d"
      ],
      "author": {
        "name": "Pavel Labath",
        "email": "pavel@labath.sk",
        "time": "Thu Nov 05 07:26:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 07:33:13 2026"
      },
      "message": "[libc] Find linux kernel headers in Debian multiarch directories (#224314)\n\nOn Debian/Ubuntu systems without gcc-multilib, architecture-specific\nkernel headers are installed in /usr/include/\u003ctriple\u003e/asm, while generic\nheaders are in /usr/include/linux. Because the symlink /usr/include/asm\ndoes not exist, full host builds failed to find \u003casm/errno.h\u003e and other\nasm headers.\n\nInstead of requiring root access to create a symlink in /usr, check if\n/usr/include/\u003ctriple\u003e/asm exists (using LIBC_TARGET_TRIPLE or\nCMAKE_LIBRARY_ARCHITECTURE) and prepend it to LIBC_KERNEL_HEADERS.\n\nAlso update consumers of LIBC_KERNEL_HEADERS in runtimes and libc++ test\nconfigs so they handle semicolon-separated lists properly.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0afe0094aa8c4310a21722f0ff21a7c8502896e8\n"
    },
    {
      "commit": "637e539470e743aab2c0f09790bdd8edb830be5d",
      "tree": "c558c9e7aeed09623fac2450f407739a8e9ce300",
      "parents": [
        "953d56d440e9d5e3af3ba1b3204c9dc886347e98"
      ],
      "author": {
        "name": "QIU Chaofan",
        "email": "qcf@ecnelises.com",
        "time": "Thu Nov 05 06:18:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 06:21:26 2026"
      },
      "message": "[libc++] Use glibc random APIs for std::random_device on Linux (#222567)\n\nUse arc4random with glibc 2.36 and later, and getentropy with glibc\n2.25 through 2.35. Retain current urandom file based implementation\non other Linux libc and older glibc versions.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0a69f57dd806f8fcdcf114ae6a2b73cec7fed05a\n"
    },
    {
      "commit": "953d56d440e9d5e3af3ba1b3204c9dc886347e98",
      "tree": "68e6d60e172bfe897f53fb35c740b921340158bb",
      "parents": [
        "9c33fe144cf3e36ea8b210e6fdc041f42105075a"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Nov 04 21:49:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 21:54:17 2026"
      },
      "message": "[ci] Adapt the LNT tooling to LNT projects (#238898)\n\nWe just added a new way to group test suites into projects in LNT. This\nallows giving more flexibility to different projects / teams sharing one\ninstance (e.g. keys can be scoped to a project, and the UI groups things\nby project).\n\nHowever, this means that submissions also have to specify a project, not\njust a test suite, which is a breaking change (fine since this is still\nearly).\n\nThis patch mechanically updates the test suites to the following\nprojects and suites:\n\n  libcxx          -\u003e libcxx/microbenchmarks\n  libstdcxx       -\u003e libcxx/libstdcxx_microbenchmarks\n  llvm_test_suite -\u003e llvm/test_suite\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d5da222eff7101f94eab60af4ca57bf489b85367\n"
    },
    {
      "commit": "9c33fe144cf3e36ea8b210e6fdc041f42105075a",
      "tree": "bbf056c7421c7fcb960a2d41497b387615488d8a",
      "parents": [
        "f5033ae77655b9d184e4d66ff32dd2f4f8d6a739"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Wed Nov 04 16:31:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 16:39:44 2026"
      },
      "message": "[libc++] Provide `optional::iterator` a packed, bounded representation (#203782)\n\nThe current situation with `optional::iterator`:\n\nIf the ABI switch is on, then `optional`\u0027s iterator type is\n`__bounded_iter` as it is a bit stronger, since\n`__static_packed_bounded_iter` can only guarantee that a dereference\nisn\u0027t out of bounds `__bounded_iter` can guard against dereferencing an\nuninitialized item in bounds.\n\nOtherwise, if `T` fulfills the alignment requirements for\n`__static_packed_bounded_iter`, then the iterator type is that.\n\nOtherwise, it is `__capacity_aware_iterator`.\n\nDue to the implementation of `__static_packed_bounded_iter` which relies\non pointer tagging, `optional::iterator` cannot be constexpr.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ed37935e8fddb4b498d4ac6458c6e6a7e147d926\n"
    },
    {
      "commit": "f5033ae77655b9d184e4d66ff32dd2f4f8d6a739",
      "tree": "83a985ff6bc6dae085b7e08e343c9aea77fa418f",
      "parents": [
        "55c6f8afb24b68d7e4beb746c5c689334b35f4fc"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Nov 04 14:42:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 14:49:07 2026"
      },
      "message": "[libc++] Optimize vector assign for trivially copyable types (#233863)\n\nWe can avoid unnecessary branching when the element types are trivially\ncopyable, since we don\u0027t need to distinguish between assignment and\nconstruction.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 142b20a144b3426abb50f1d77ca2598a48394980\n"
    },
    {
      "commit": "55c6f8afb24b68d7e4beb746c5c689334b35f4fc",
      "tree": "18fc8858ef77dd11f90a719fc96e000b18c460ac",
      "parents": [
        "1667e9d199f0bdb3e9838bf1dbe352cf39e87ad7"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Nov 04 14:22:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 14:29:30 2026"
      },
      "message": "[libc++] Remove redundant `_LIBCPP_HIDE_FROM_ABI` from detail headers d-i (#234100)\n\nThis is the second bulk-removal patch of `_LIBCPP_HIDE_FROM_ABI`. While\nthis is something we could do over time, actively removing the redundant\nannotations significanly improves readability, and QoI.\nThis happens in a few patches to keep the size somewhat manageable.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 12df5895a2e23e2b426c24f825590a33b4d68e60\n"
    },
    {
      "commit": "1667e9d199f0bdb3e9838bf1dbe352cf39e87ad7",
      "tree": "1b037009f0d356386a53d58d9624edcae7ef677b",
      "parents": [
        "b19547b63f2e5a42dd77223dd202a68d0be91f37"
      ],
      "author": {
        "name": "Daniel Thornburgh",
        "email": "dthorn@google.com",
        "time": "Tue Nov 03 23:42:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 23:47:08 2026"
      },
      "message": "Revert \"[libc++] Optimize filebuf::seekoff\" (#238594)\n\nReverts llvm/llvm-project#211788\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9d4a620479ccd72f686b713ea7b761d31a84b1ca\n"
    },
    {
      "commit": "b19547b63f2e5a42dd77223dd202a68d0be91f37",
      "tree": "5cb9cf4a846891ed89d4f4e0e519567321f34545",
      "parents": [
        "75b1bba7dec5ca5b4107892169914e2f366370a0"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Nov 03 19:33:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 19:39:20 2026"
      },
      "message": "[libc++][test] Increase the constexpr step limit for ranges.ends_with.pass.cpp (#238491)\n\nThe test evaluates all the iterator and sentinel combinations in a\nsingle constant evaluation. On some versions of Clang, this blows up the\nconstexpr step limit. This is what we did in the contains_subrange test\nas well.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b27d385d28ae084cdb04b94e56a5ce90524b21a6\n"
    },
    {
      "commit": "75b1bba7dec5ca5b4107892169914e2f366370a0",
      "tree": "331110742c114c37aed7710d94ffaa71f9111817",
      "parents": [
        "64f64c14ae2f4653af875bd172462a4c5e6afe18"
      ],
      "author": {
        "name": "R. Aoto",
        "email": "aotodev@gmail.com",
        "time": "Tue Nov 03 17:46:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 19:38:39 2026"
      },
      "message": "[libc++] Implement LWG3601: `common_iterator`\u0027s postfix-proxy needs `indirectly_readable` (#237574)\n\n`common_iterator::operator++(int)` now returns the postfix-proxy only\nwhen the underlying iterator is `indirectly_readable`. Previously, a\nnon-readable iterator with a usable `value_type` and a non-referenceable\n`*it++` got a proxy holding a copied value. Now it gets the result of\nthe underlying `it++`.\n\nFixes #104946\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eca43cccbe0eb9477a658b6c64f47a6fc5e79a29\n"
    },
    {
      "commit": "64f64c14ae2f4653af875bd172462a4c5e6afe18",
      "tree": "f458b3f85c84b61b6ad79f886ea442ca275d18c3",
      "parents": [
        "d9e6163aba2ab69e9fc00ffa4442249d64090f52"
      ],
      "author": {
        "name": "anant",
        "email": "anant1234466@gmail.com",
        "time": "Tue Nov 03 08:12:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 08:25:25 2026"
      },
      "message": "[libc++] Implement LWG4294: bitset(const CharT*) constructor needs to be constrained (#238119)\n\nLWG4294 constrains bitset\u0027s `const charT*` constructor to char-like\ntypes. While libc++ already checked `_IsCharLikeType`, the trait was\nmissing the non-array requirement from [strings.general].\n\nBecause of this, checking `std::is_constructible\u003cstd::bitset\u003cN\u003e, const\nchar(*)[2]\u003e` hit a hard compile error inside `basic_string` instead of\nevaluating to false.\n\nThis adds the missing `!is_array` check to `_IsCharLikeType`, adds a\ntest covering the constraints, and updates Cxx26Issues.csv.\n\nFixes #171336\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: da922a4d85be38a0a0f5615756bd685327d88eeb\n"
    },
    {
      "commit": "d9e6163aba2ab69e9fc00ffa4442249d64090f52",
      "tree": "eeb0568c775806a9e8f50996b73243fccfc9f7f1",
      "parents": [
        "fc0f7ac0527a829e593058ba1cd5c40ddabda82e"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Tue Nov 03 07:28:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 07:32:31 2026"
      },
      "message": "[libc++][test] Avoid assert() in gnu/hash/specializations.verify.cpp (#237485)\n\nIn glibc 2.44 under C++26, `\u003cassert.h\u003e` expands variadic `assert(...)`\nwith `__VA_ARGS__` twice, causing the compile-time call-operator error\nin this `-verify` test (updated in #145476) to fire twice on\nhttps://lab.llvm.org/staging/#/builders/sanitizer-aarch64-linux-bootstrap-msan\n(https://lab.llvm.org/staging/#/builders/7/builds/93).\n\nDrop `\u003cassert.h\u003e` and check the call expression directly.\n\nDiscovered during upgrading buildbot GLIBC 2.43 to 2.44.\n\nRelated issue https://github.com/llvm/llvm-project/issues/233597.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a7667703eeb633e237aa8280ffc42e963e07189a\n"
    },
    {
      "commit": "fc0f7ac0527a829e593058ba1cd5c40ddabda82e",
      "tree": "f3c95695b399b5726dad147fa416f6da49ea980a",
      "parents": [
        "a9ac446d581e39a5f79b3edf643a79859cdfbcf4"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Tue Nov 03 01:06:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 01:11:55 2026"
      },
      "message": "[libc++][NFC] Mark LWG2859 as \"Nothing To Do\" (#236127)\n\nLWG2859 only rewrites the definition of \"reachable\" in the Remarks\nparagraph of `std::launder` precondition, relaxing the reachable set\nwith the pointer arithmetic scenario.\n\nIt does not change any observable behaviour of the library. No test\nshould be added because the precondition is not observable (a program\nthat is valid under the new wording was also valid under the old one,\nand vice versa).\n\nCloses: https://github.com/llvm/llvm-project/issues/100269\n\n---------\n\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 03e91edf5e1116de288aadcee4625b307786abd4\n"
    },
    {
      "commit": "a9ac446d581e39a5f79b3edf643a79859cdfbcf4",
      "tree": "082663012eb522cfc50d7d0cb3f786799466a14b",
      "parents": [
        "500fce6fada466ca462c3df2af4132b4fc7f7684"
      ],
      "author": {
        "name": "lb90",
        "email": "luca.bacci982@gmail.com",
        "time": "Mon Nov 02 20:46:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 20:53:06 2026"
      },
      "message": "[libc++][windows] Use _wsetlocale() in __locale_guard (#160479)\n\nOn Windows, locale strings are not limited to ASCII characters, and\nnarrow locale strings are encoded relative to the `LC_CTYPE` charset.\n\nClass `__locale_guard` does three things in sequence:\n\n1. Queries the current locale string\n2. Sets a temporary locale\n3. Restores the locale retrieved at 1\n\nHowever, the locale string obtained from `1)` may be in an encoding\ndifferent from what `setlocale` expects at `3)`\n\nTo avoid any problem with narrow string encodings, use `_wsetlocale` in\n`__locale_guard`.\n\nFixes #160478\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 12f572979922ca10b9c66d6264826f9cbc78f5de\n"
    },
    {
      "commit": "500fce6fada466ca462c3df2af4132b4fc7f7684",
      "tree": "6b5e3cc7989881ad537b36db503f11c99a5d838e",
      "parents": [
        "507586c86fcf856a1a9c9e5144f503c93febdb36"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Nov 02 16:29:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 16:32:13 2026"
      },
      "message": "[libc++] Only refine benchmark changes of at least 10% (#238012)\n\nThis will greatly reduce the number of commits we end up refining and we\nshould still get most of the value. This can be tweaked per machine in\ncase we have machines with more or less noise on them.\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 02d4bb573ddea205c1963d9d725865e3853c1adc\n"
    },
    {
      "commit": "507586c86fcf856a1a9c9e5144f503c93febdb36",
      "tree": "ac693e4200886f3a9879d553c599d5ee50c8be06",
      "parents": [
        "0ac2737a33e86f43ae52c336d720b1aa2fddf518"
      ],
      "author": {
        "name": "R. Aoto",
        "email": "aotodev@gmail.com",
        "time": "Mon Nov 02 01:27:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 01:32:36 2026"
      },
      "message": "[libc++][ranges] Implement LWG3904: `lazy_split_view::outer-iterator`\u0027s const-converting constructor isn\u0027t setting `trailing_empty_` (#237550)\n\nCopy `trailing_empty_` in `outer-iterator`\u0027s const-converting\nconstructor. Previously, converting an iterator that points at the\ntrailing empty subrange (e.g. the second element of `\"a,\"` split by\n`\",\"`) made it compare equal to `default_sentinel`, so that subrange was\nlost.\n\nFixes #105276\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 63dd23c57e9d0af7cdbd1c6716773db09b76b7d4\n"
    },
    {
      "commit": "0ac2737a33e86f43ae52c336d720b1aa2fddf518",
      "tree": "45ba9e7ad51f802fe0a96e504ddfed09d3f6bed3",
      "parents": [
        "3218b38d2be55b2eaeb25b34ce9e43f9573954de"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Sat Oct 31 17:09:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 17:12:25 2026"
      },
      "message": "[libc++][pstl] Add serial implementations of std::inclusive_scan and std::transform_inclusive_scan (#236219)\n\nThis PR adds serial implementations of the inclusive scan operations to\nPSTL.\nWithin this patch they are added only to the serial backend, such that\nany other backend can fall back to these implementations.\nA real parallel implementation is intended to land within the `statpart`\nbackend later, which will be a purely additive change, it will not touch\nthe code in this PR.\n\nThese are the added scan operations:\n- `std::inclusive_scan` (3 variants)\n- `std::transform_inclusive_scan` (2 variants)\n\nPart of #99938.\n\n---------\n\nCo-authored-by: PaulXiCao \u003cpaulxicao7@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7efb1638f7cb94196057b1f8fa7726d43d84475a\n"
    },
    {
      "commit": "3218b38d2be55b2eaeb25b34ce9e43f9573954de",
      "tree": "ad38c1aea639d3757e4778e834bae65c2a40555e",
      "parents": [
        "db623f9e8f87d12bff3d333cba68952630cfedc8"
      ],
      "author": {
        "name": "R. Aoto",
        "email": "aotodev@gmail.com",
        "time": "Sat Oct 31 16:28:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 31 16:31:34 2026"
      },
      "message": "[libc++][ranges] Implement LWG3797: `elements_view` insufficiently constrained (#236930)\n\nRequire `std::get\u003cN\u003e(t)` to be valid in `has-tuple-element`. Previously,\na range of `subrange`s over a move-only iterator satisfied the\nconstraints of `elements_view\u003cV, 0\u003e` and then failed with a hard error,\nbecause `subrange`\u0027s lvalue `get\u003c0\u003e` requires `copyable\u003cI\u003e`.\n\nFixes #189811\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 12f2c4657237fa416e685512fc9d586280ec4397\n"
    },
    {
      "commit": "db623f9e8f87d12bff3d333cba68952630cfedc8",
      "tree": "b298306fef2b2690b43d9f17b4d5a36b602b5d62",
      "parents": [
        "5af2a3743be9e357033bfa09f97981ea5f94f7b6"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Oct 30 19:52:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 19:57:27 2026"
      },
      "message": "[libc++] Added a benchmark for std::reduce with a trivial reduction operator (std::plus) (#236853)\n\nThis PR adds benchmarks for serial reductions with a trivial operator,\nto specifically capture the cases where the compiler can do a good job\noptimising the loop. This includes cases where the compiler can already\nperform reordering without an explicit permission (e.g. with `int`s) and\nwhere it requires an opt-int like `clang loop vectorize(enable)\ninterleave(enable)` (e.g. with `float`s, which libc++ currently doesn\u0027t\ndo).\n\nPart of #234887.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8445ad1d24a66725308b1d4b7e9e625d9b2e3c79\n"
    },
    {
      "commit": "5af2a3743be9e357033bfa09f97981ea5f94f7b6",
      "tree": "8dc4323cd001b0c447455a9be7e0488e61feaf87",
      "parents": [
        "116cce342bbb537229f7c6c29eed8566f94a662a"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Oct 30 15:25:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 15:32:32 2026"
      },
      "message": "[libc++] Submit the results of PR benchmarks to LNT and link to them (#237102)\n\nNow that we produce LNT v5 JSON in the benchmarking jobs, we can submit\nit to LNT as a data point with an expiration date and include the link\nin the comment we post to the PR.\n\nThe expiration date should help avoid bloating the LNT instance if this\nkind of PR benchmarking becomes more mainstream.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 95086c235ffebb94f0543c2070e1a5b04137b77d\n"
    },
    {
      "commit": "116cce342bbb537229f7c6c29eed8566f94a662a",
      "tree": "b69066203f02c5f06ff8e0f06cfddb014432d712",
      "parents": [
        "4230a65d86982eaab840d487475e044b7fd0337d"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Oct 30 13:28:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 13:33:24 2026"
      },
      "message": "[libc++] Remove unused type_info constructor (#235739)\n\nWe have a constructor taking a `const char*` since the initial import.\nIt\u0027s unused in the library and neither the C++ standard nor the Itanium\nABI require it. Since all `type_info` instances are magicked into\nexistence by the compiler it doesn\u0027t make a ton of sense to have a\nconstructor either.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b08681ba2a1f163475ab29ae4fc66712ccb56fac\n"
    },
    {
      "commit": "4230a65d86982eaab840d487475e044b7fd0337d",
      "tree": "21f337593f24b90ce57953f39429be804632e90a",
      "parents": [
        "8db73de4a90dcf813e597d7ec640a8772c2b0d7c"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Oct 30 13:12:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 13:17:56 2026"
      },
      "message": "[libc++] Add a few _LIBCPP_HIDE_FROM_ABI which have been accidentally removed in #201722 (#236733)\n\nThese annotations should have stayed, since the functions are in a spot\nwhere explicit annotation are required.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 03cf1225b8654884db822f4030416802c963aa5a\n"
    },
    {
      "commit": "8db73de4a90dcf813e597d7ec640a8772c2b0d7c",
      "tree": "d123d3da20b4c8ee329543b4b85ea12f21411544",
      "parents": [
        "a4f03b4b2b7ef9453356494d9c52266b8d81cbb2"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Oct 30 13:11:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 13:17:15 2026"
      },
      "message": "[libc++][NFC] Move checks whether mutex/condition_variable are trivial to their headers (#236806)\n\nThe moved macros are only used as implementation details of `mutex` and\n`condition_variable` aren\u0027t used widely within the library, so they can\nbe moved to be more local.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c4953a08cd91b86c4f02e9380f43483c8bffcd2b\n"
    },
    {
      "commit": "a4f03b4b2b7ef9453356494d9c52266b8d81cbb2",
      "tree": "cc4ef4d146fe8688ac24b4d1cace1b58fcf5f89f",
      "parents": [
        "eb22a0d5753a86781d6b4f703763164418a27316"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Oct 30 10:16:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 10:22:22 2026"
      },
      "message": "[libc++][pstl] Introduce a \"statpart\" backend (#230540)\n\nThis PR introduces a simplified PSTL backend based on a static\npartitioning scheme and on a single \"parallelism\" function\n`__apply(size_t, void*, void (*)(void*, size_t))`. Currently the\nunderlying parallelism is only provided via the `libdispatch` library,\nother mechanisms are assumed to be added later without changing the\nAPI+ABI surface.\n\nThis backend is mostly a re-packaging of the code existing in\n`libdispatch` and `cpu_algos`, currently placed in a dedicated\n`__pstl/statpart/...` directory. `__pstl/statpart.h` serves as a purely\numbrella header.\n\nThe implementations of the algorithms with the STL APIs are identical to\nthe existing implementations in `__pstl/cpu_algos/...` modulo these\nalterations:\n- the naming is rebased to use the `__statpart` backend.\n- the algorithms are presented directly under the\n`__statpart_backend_tag` specialisation, without a re-introduction via\ninheritance as currently done in `libdispatch` and `std_thread`.\n\nThere are a couple of differences in the backend basis as well:\n- The partitioning logic is moved out of the ABI surface.\n- The `__cpu_traits` API is not used, all backends\u0027 functions are\nstructured as free functions.\n- The partitioning logic is changed. Instead of capping the number of\nelements per partition, it now caps the maximum number of partitions per\navailable parallel workers and allows to specify the minimum number of\nelements per partition. Partitioning that produces less than 2\nsub-ranges is declared invalid, the caller should fall back to serial\nprocessing in this case.\n- The basis algorithm implementations are copied as-is with minimal\nchanges, with 2 exceptions:\n- `__merge()` finds the cutpoints of each paired sub-ranges in parallel,\ninstead of sequentially as before. This costs 2 binary searches per\npartition, comparing to 1 binary search per partition in the previous\nimplementation, but all these searches are now done in parallel, instead\nbeing serial on a critical path.\n- `__stable_sort()` no longer merges two the first partitions\nsequentially in case of an odd number of partitions. Instead the last\nspan is carried over as-is in case of odd number of spans.\n\nAt the moment this backend is not enabled by default on any\nconfiguration and needs to be explicitly picked via\n`-DLIBCXX_PSTL_BACKEND\u003dstatpart`.\n\nFixes #229804.\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 260096e486b08edccd9c5db35c550029d65620b6\n"
    },
    {
      "commit": "eb22a0d5753a86781d6b4f703763164418a27316",
      "tree": "497b41a1817149bc6308f8f94cfa7cc6801604aa",
      "parents": [
        "1caa3628e8d9846dd1f1e067b5666d052e1912ed"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Oct 30 00:59:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 01:03:31 2026"
      },
      "message": "[libc++] Produce LNT v5 reports from the A/B benchmark job (#237001)\n\nThis patch lifts the LNT v5 report creation into a command-line tool so\nthat we can call it from the A/B benchmarking job, and upload it as an\nartifact. In future PRs we can actually submit those results to LNT.\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 90577109166c266af96bf72026cfe9fe874e56eb\n"
    },
    {
      "commit": "1caa3628e8d9846dd1f1e067b5666d052e1912ed",
      "tree": "dd1d9fd5aa6cf9b382db0c41913c75a38885c174",
      "parents": [
        "079b51cd813ad1d3fd3eb4d7b804dafdb7de2212"
      ],
      "author": {
        "name": "Liza Burakova",
        "email": "liza@chromium.org",
        "time": "Thu Oct 29 15:29:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 15:32:41 2026"
      },
      "message": "[libcxx] Optimize __split_buffer::__relocate by using size-based __set_valid_range (#216822)\n\nThe new size is already known.\nWe can directly call the `(pointer, size_type)` overload.\nThis avoids redundant pointer arithmetic.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 87dbf150b66719ec1cdab2eb468aa77893c5576c\n"
    },
    {
      "commit": "079b51cd813ad1d3fd3eb4d7b804dafdb7de2212",
      "tree": "0fcc986889bb8ec012d5144c30aa0ebf3300ad00",
      "parents": [
        "5999aaf9d1110ca26ed2658e965519b96af5f1a9"
      ],
      "author": {
        "name": "kisuhorikka",
        "email": "kisuhorikka@gmail.com",
        "time": "Thu Oct 29 14:08:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 14:13:37 2026"
      },
      "message": "[libc++] Add __uninitialized_allocator_{fill_n,value_construct_n,move} and use them in vector (#167112)\n\nThis makes us more predictable in when we destruct elements and makes us\nconsistently use `__uninitialized_allocator_` throughout `vector`.\n\nFixes #59293\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nCo-authored-by: Nikolas Klauser \u003cnikolasklauser@berlin.de\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 14ba63aa7aa5bfac87298635470fa07fe5c946d4\n"
    },
    {
      "commit": "5999aaf9d1110ca26ed2658e965519b96af5f1a9",
      "tree": "6fae2bbe91631f57c872cf70f16b965c217ee8bb",
      "parents": [
        "733640d92122fe9c3977d48f6cdb30326a5093e0"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Thu Oct 29 14:06:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 14:13:16 2026"
      },
      "message": "[libc++][test] Remove `XFAIL` for LLVM libc in `valarray` tests (#236629)\n\nNow these tests pass due to completion of several math functions in LLVM\nlibc.\n- `sinh` in 1866d4cc5634d9edb54d703f191981093b3ca51b\n- `cosh` in 075a6cb1402543bc3a1dd87a8720807d35c1eacc\n- `tanh` in ff9ad993c2b90a78f23b988333e05accae1147df\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 09c1667484d57819a89be0bbc990bbbd0f5f36e5\n"
    },
    {
      "commit": "733640d92122fe9c3977d48f6cdb30326a5093e0",
      "tree": "27b5d07079aad125b18ed1854dd733a7e52a929f",
      "parents": [
        "2c88208b31883f5fc8387346a246affe1638c4a7"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Oct 28 23:08:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 23:11:38 2026"
      },
      "message": "[libc++] Remove stale XFAIL from small_buffer.pass.cpp (#234407)\n\nThe availability-aligned_allocation-missing Lit feature was removed in\nec350ad418a2 along with all of its uses, but small_buffer.pass.cpp\nlanded around the same time and kept referencing it.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 93d74dc789036023285bf3d3a1638f5bf1ae26f1\n"
    },
    {
      "commit": "2c88208b31883f5fc8387346a246affe1638c4a7",
      "tree": "ca5898dc5ee2ca55f051c0499f5792ded71ff365",
      "parents": [
        "157296daf976155f5a5c02da6f9b650918595ade"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Oct 28 22:39:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 22:43:57 2026"
      },
      "message": "[libc++] Use constant initialization for the random_shuffle engine (#234815)\n\nThe default engine used by std::random_shuffle currently uses a function\nlocal static. However, we can skip the function local static and perform\nconstant initialization instead by marking a few functions constexpr,\nonly when building the dylib.\n\nThese functions will eventually be made constexpr in the Standard.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 49fa81775feb14d0e4a1c04d7758aa641a87ca24\n"
    },
    {
      "commit": "157296daf976155f5a5c02da6f9b650918595ade",
      "tree": "2f6c17e85b3d233e649c83468b49ae28533549b3",
      "parents": [
        "db7de1474548112b721f3de49a7638ed42ccb4ae"
      ],
      "author": {
        "name": "Nikita Belenkiy",
        "email": "public@kits.net",
        "time": "Wed Oct 28 16:52:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 16:58:32 2026"
      },
      "message": "[libcxx][test-support] Implement fancy_pointer_allocator (#196187)\n\nIn order to make sure that our further modifications of basic_string\nwill make it able to handle fancy pointers such as boost::ipc::offset_ptr,\nwe need some testable fancy pointers. Unfortunately, offset pointers\nthemselves are a bad idea for that, as they cannot be constant evaluated.\n\nInstead, we are implementing a test fancy pointer that has nontrivial\nspecial member functions that are C++20 constexpr and have side effects\nthat can be checked on correctness even in constant evaluated test contexts,\nbacked by a similarly C++20 constexpr fancy pointer allocator.\n\nThe idea is that the allocator has a state that counts how many pointer\ninstances originated from the allocator exist at the moment, the\npointers in their special methods update this shared state, and the\nstate checks at its destruction that there exactly 0 pointers are recorded\nas still existing. The state is unique per instance of default-constructed\nallocator but shared between the instances of copy/move-constructed\nallocators.\n\nThe resulting test fancy pointer is more demanding than an offset\npointer: an offset pointer may have a trivial destructor, but our test\npointer has a destructor that relies on still existing state. Unfortunately,\nour containers are generally laid out in such a way that their allocator\nmember is destructed earlier than their storage pointer members. To use\nthe fancy_pointer_allocator in testing, we either need to modify the\ncontainers that they null the storage pointers at the end of destructor\n(which will be naturally done for basic_string, which is our main\ntarget) or write our tests in such a way that there is a copy of\ncontainer\u0027s allocator that survives the container\u0027s lifetime.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8c884ee3738e1ad08d4a4167c3d7209a301801e0\n"
    },
    {
      "commit": "db7de1474548112b721f3de49a7638ed42ccb4ae",
      "tree": "239a3537f84c70e05d9bd8b7179c978667a6a3f1",
      "parents": [
        "baf3f47ce3d60a085af4a8d3df199a7a0399172f"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Wed Oct 28 10:03:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 10:10:02 2026"
      },
      "message": "[libc++] Make __thread_hardware_concurrency() an alias to an existing symbol (#234575)\n\nThis PR changes `__thread_hardware_concurrency()` to be an alias to\n`std::thread::hardware_concurrency()`, which is already exported from\nthe ABI.\nAlso adds the `_LIBCPP_ABI_NAMESPACE_LEN` macro to simplify the name\nmangling.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 749d82099196575d084fb63f89cbae1b97178bbd\n"
    },
    {
      "commit": "baf3f47ce3d60a085af4a8d3df199a7a0399172f",
      "tree": "8965b9fccecb2d0ee9e2a9b51fa1a206fce18087",
      "parents": [
        "256581a9696bc9a784e628e53c9ddc5eb12b58ad"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Oct 28 08:46:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 28 08:50:47 2026"
      },
      "message": "Reapply \"[libc++] Fix incorrect size check when growing std::string\" (#234545) (#234551)\n\nThere was a race condition with another commit adding another call of\n`__get_amortized_growth_capacity`. This is fixed in this version.\n\nOriginal commit message:\n\nWhen trying to grow very large amounts the `max_size()` check could fail\ndue to\nthe result of adding the current capacity and the additional capacity\ncould wrap.\n\nThis reverts commit 64b40b84eb293e259cfe36add2ac34ab3dafc05c.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8e196cd486b1e532ca7f30abf6eb0fe0fe0f8564\n"
    },
    {
      "commit": "256581a9696bc9a784e628e53c9ddc5eb12b58ad",
      "tree": "ecf78957ab7508dce237c58f82db11703b230c1a",
      "parents": [
        "d59925d0225767b1bbdb81dbb213984da09b6122"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Oct 27 23:02:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 23:09:03 2026"
      },
      "message": "[libc++] Make detect-changepoints much faster (#236245)\n\nThe permutation test used to find changepoints was the bottleneck of the\nLNT refinement job. This patch makes the test much cheaper in two ways\nwithout changing the algorithm:\n- Compute the best split of a segment only once, when the segment is\n  created.\n- Scoring every split of a segment only needs the sums of distances\n  within the first t points and between the first t points and the whole\n  segment. The latter doesn\u0027t depend on the order of the points, so it is\n  computed once per segment.\n\nThis was measured to be roughly 10x faster as the previous algorithm,\nand gives the same results.\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 595e569a7df2cf166bea271169ccc4f02ac45926\n"
    },
    {
      "commit": "d59925d0225767b1bbdb81dbb213984da09b6122",
      "tree": "d5e61ef001ed195d16a20b8f46052933c23e1425",
      "parents": [
        "fc2c0d6b2d4f889b6401cc864f1c73b6971d0c6c"
      ],
      "author": {
        "name": "Eric Ross",
        "email": "zerico2005@gmail.com",
        "time": "Tue Oct 27 17:15:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 17:25:24 2026"
      },
      "message": "[libc++][test][NFC] Use correct number of digits for \u003cnumbers\u003e ground-truth values (#233664)\n\nCorrects the number of digits used for the `float` hexadecimal literals\nfor the `\u003cnumbers\u003e` test. All literals are now exactly representable as\n`float`. The tested values themselves are unchanged.\n\nNoted here:\nhttps://github.com/llvm/llvm-project/pull/222830#discussion_r3985465297\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 79f9939862e10e75d59a06fd70ea69a882fb4211\n"
    },
    {
      "commit": "fc2c0d6b2d4f889b6401cc864f1c73b6971d0c6c",
      "tree": "f55412b0575eff9763b99b349fe3e527582035ed",
      "parents": [
        "c0ad20296bc75d460069bcf5a5ecf71831539d08"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Tue Oct 27 08:14:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 08:17:10 2026"
      },
      "message": "[libc++][ranges] Mark LWG3532 as resolved (#235016)\n\nAlready implemented and tested in the scope of the full implementation\nfor `lazy_split_view`\n(https://github.com/llvm/llvm-project/commit/e53c461bf3f0feebb4fd6b43e05a0047f8edb945).\n\nCloses https://github.com/llvm/llvm-project/issues/104342\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0f0c7c34ae2cb0d59538956e878c5d7e9383eb9b\n"
    },
    {
      "commit": "c0ad20296bc75d460069bcf5a5ecf71831539d08",
      "tree": "74dea1c4657a599876bedc5e293752a2162770c3",
      "parents": [
        "6d67174d0c0adb630806b5c2b12eb6296ffb5d3b"
      ],
      "author": {
        "name": "R. Aoto",
        "email": "aotodev@gmail.com",
        "time": "Tue Oct 27 06:27:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 27 06:32:40 2026"
      },
      "message": "[libc++] Implement LWG4245: Operators that interact with counted_iterator and default_sentinel_t should be noexcept (#235445)\n\nMark `counted_iterator`\u0027s `operator-` overloads and `operator\u003d\u003d` taking\n`default_sentinel_t` as `noexcept`, as required by the resolution of\nLWG4245. They only read the stored count. Applied as a defect report to\nevery mode where `counted_iterator` exists (C++20 and later).\n\nThe existing `minus.default_sentinel.pass.cpp` and `compare.pass.cpp`\nnow check `noexcept` for both argument orders and the rewritten `!\u003d`\nforms. They fail without the header change and pass in C++20 and later.\n\nFixes #148226\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 21a3030c149eb1e76df2db9efff22f9a57382150\n"
    },
    {
      "commit": "6d67174d0c0adb630806b5c2b12eb6296ffb5d3b",
      "tree": "3404849801871b00d49c133b95f408bcc0c7c2aa",
      "parents": [
        "4d2120088ef95efeac20d2b60a4b0b3f189fee98"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Oct 26 23:47:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 26 23:53:26 2026"
      },
      "message": "[ci] Create a monorepo-wide workflow to submit to LNT (#235863)\n\nLift the libc++ specific workflow into one that is clearly decoupled\nfrom libc++ and can be reused by other projects in the monorepo. This is\nintended to support other projects submitting data into LNT.\n\nOne interesting question is whether we want all jobs to use the same\ntoken. In LNT v5, a token can be scoped to specific test suites (e.g. a\ntoken can be limited to submitting only to the libcxx test suite). Right\nnow, this workflow assumes that the token in use can submit to the\nprovided suite, and all submissions would use the same token, which\nwould be unscoped.\n\nI think this is fine, at least for now, but we could potentially revisit\nthis decision in the future.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7f80ef0ed5441d143d427f687cafcedeaf0a53b3\n"
    },
    {
      "commit": "4d2120088ef95efeac20d2b60a4b0b3f189fee98",
      "tree": "ef84b6fd0a5724befa49eeaa33700cb5db954cb5",
      "parents": [
        "35dbbcabfabb53b5775b4b4a81d1d343fbb90abd"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Sun Oct 25 15:22:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 25 15:26:18 2026"
      },
      "message": "[libc++][lldb] Add initial LLDB data-formatters (#187677)\n\nAdd synthetic child providers for `std::map` and `std::vector`. These\nwere translated from C++ into Python (with the help of Claude).\n\nSigned-off-by: Med Ismail Bennani \u003cismail@bennani.ma\u003e\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nCo-authored-by: Med Ismail Bennani \u003cismail@bennani.ma\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 62141d57be96448943dbf9cd00d108bdcd2d33f4\n"
    },
    {
      "commit": "35dbbcabfabb53b5775b4b4a81d1d343fbb90abd",
      "tree": "a2d0c4b4795c4a71c69a796eee621cfe084297a0",
      "parents": [
        "0618c3e0659e3db94f5938d09dfcca09c3c5df15"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Sat Oct 24 07:29:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 24 07:33:34 2026"
      },
      "message": "[libc++] Add benchmarks for std::reduce and std::transform_reduce (#233374)\n\nThe PR adds benchmarks for these algorithms:\n- `std::reduce()`\n- `std::transform_reduce()`, unary transform\n- `std::transform_reduce()`, binary transform\n\nThe benchmarks run minimal reduction and transformation operators with\n`int`, `float` and `double` parameters.\n`std::vector` and `std::list` containers are tested, `std::deque` is not\nincluded to reduce the number of added benchmarks.\n\nFixes #226211\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b968e745fb9552b0da3b7fdfaf70c2c31eb7bece\n"
    },
    {
      "commit": "0618c3e0659e3db94f5938d09dfcca09c3c5df15",
      "tree": "be178cfc945829af6b94740bce5991a404264718",
      "parents": [
        "adc682ca11800cbc2ed32f8012c01de9b0321d62"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Fri Oct 23 09:06:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 09:14:16 2026"
      },
      "message": "[libcxx] [test] Update XFAILs for a clang-cl bug fixed in clang 23 (#234630)\n\nThis issue, issue https://github.com/llvm/llvm-project/issues/40363, was\nfixed by PR https://github.com/llvm/llvm-project/pull/168171 (commit\n9ce9e4e6c19bed1781db2c20fae7f24c905438e9) for LLVM 23.\n\nTherefore, update the XFAILs to limit the XFAIL to clang 21 and 22.\n(Older versions aren\u0027t supported.)\n\nThis unblocks one aspect of updating the version of clang-cl in CI to\nversion 23.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1efb690992f0054079a9d8e474a551af066aee0c\n"
    },
    {
      "commit": "adc682ca11800cbc2ed32f8012c01de9b0321d62",
      "tree": "3a1fa7031df0959c4fac64d808f1d0ee2cfa9d00",
      "parents": [
        "bb6ae985cb7fb41da30b0bf675cead6321ad2ab4"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Oct 23 08:45:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 08:53:31 2026"
      },
      "message": "[libc++][pstl] Add serial implementations of the set operations (#233783)\n\nThis PR adds serial implementations of the set operations to PSTL.\nThey are added to the serial backend only, such that any other one can\nfall back to these implementations.\nCurrently there\u0027s no intent to provide parallel versions of these\nalgorithms, but later they can be added as well.\n\nThese are the added set operations:\n- `std::includes`\n- `std::set_union`\n- `std::set_intersection`\n- `std::set_difference`\n- `std::set_symmetric_difference`\n\nPart of #99938.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 033f55044e278cda13e7a1472ab1fd7a4f9c0936\n"
    },
    {
      "commit": "bb6ae985cb7fb41da30b0bf675cead6321ad2ab4",
      "tree": "d47076eb4126267ea75facd7850486a2645c84c9",
      "parents": [
        "7753b250890681e6c2a974fec778a2c892384583"
      ],
      "author": {
        "name": "Vishank Singh",
        "email": "vishanksinghh@gmail.com",
        "time": "Fri Oct 23 05:46:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 23 05:53:46 2026"
      },
      "message": "[libc++] Implement LWG3749: `common_iterator` should handle integer-class difference types (#233606)\n\nMake `iterator_category` of `iterator_traits\u003ccommon_iterator\u003cI,S\u003e\u003e`\nconditionally present only when `iter_difference_t\u003cI\u003e` is an integral\ntype.\n\nFixes #105291\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9d207030224595de65c0ca54033bd9d71412921c\n"
    },
    {
      "commit": "7753b250890681e6c2a974fec778a2c892384583",
      "tree": "9948ea2a9a77ce0fde43b9d5c3397ed32bb131ec",
      "parents": [
        "26e7d49a3471a5838b53c8a6ef16df5ad6e40b21"
      ],
      "author": {
        "name": "Reid Kleckner",
        "email": "rkleckner@nvidia.com",
        "time": "Thu Oct 22 23:37:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 23:42:18 2026"
      },
      "message": "[libc++][docs] Remove stale release notes from toctree (#234792)\n\n#234169 deleted the release notes for LLVM 20, 21 and 22 but left them\nlisted in the hidden toctree in `ReleaseNotes.rst`. This results in\nSphinx doc build warnings, which show up as permerge failures.\n\nRemove the three stale toctree entries to fix the doc build warnings.\n\nLLM-aided\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f1621eb7f46e649d0bae1da84895b252a945034a\n"
    },
    {
      "commit": "26e7d49a3471a5838b53c8a6ef16df5ad6e40b21",
      "tree": "7dc02ff89b7fee117ee71897732abab6e460e991",
      "parents": [
        "597e12d9b3d958ff4f5f9996ec92e7eeb716a6d7"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 22:59:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 23:02:22 2026"
      },
      "message": "[libc++] Request refinement commits from the benchmark cron job (#234739)\n\nThis closes the loop for automatic refinement of benchmark data. It adds\na CI job that determines which commits to bisect based on the\nchangepoints we find in the existing data, and incorporates them into\nthe set of commits to measure.\n\nThe result is that we automatically bisect commits between which a\nsignificant changepoint is detected.\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 03608cf04d8aefdb5d647dbb514ea3fb2b260191\n"
    },
    {
      "commit": "597e12d9b3d958ff4f5f9996ec92e7eeb716a6d7",
      "tree": "56898aa345e6b96af428519d425b3c932a7fa77c",
      "parents": [
        "80f04a7822b8f58a250e1e1ea050a2b4b1960f52"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 18:37:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 18:42:40 2026"
      },
      "message": "[libc++] Add a tool to select commits to narrow down benchmark changes (#234716)\n\nThis patch adds the select-refinement-commits script, which reads\nchangepoints and ranks them. It then selects the commits in the middle\nof the segments containing changes, i.e. it selects the commits that we\nshould measure in order to bisect the high-ranked changes we detected.\n\nBy then requesting these additional data points from the benchmarking\ninfrastructure, this allows dynamically refining the benchmark data we\nhave to pinpoint regressions exactly at the commit that introduced them.\n\nThis script is biased towards prefering large changes on a few\nbenchmarks over small changes over many benchmarks, whicih fits the\nnature of libc++ benchmarks better and was experimentally observed to\nproduce better decisions. This may not be right for other test suites.\n\nThe output of the script is a commit list meant to be included with the\nbenchmark planning pipeline.\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 763ee24d95619c79e72da86b29ee8711827f031a\n"
    },
    {
      "commit": "80f04a7822b8f58a250e1e1ea050a2b4b1960f52",
      "tree": "e0bae83a83865b24067a6369097687b7f81fb22e",
      "parents": [
        "9b8ccc07b7456e26c985bc0b8411c01997f88c9f"
      ],
      "author": {
        "name": "Zibi Sarbinowski",
        "email": "zibi@ca.ibm.com",
        "time": "Thu Oct 22 17:27:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 17:33:30 2026"
      },
      "message": "[libc++][filesystem] Fix truncation in vformat_string dynamic fallback (#203531)\n\nThe `vformat_string` fallback path (used when the message exceeds the\nstack buffer) had two bugs that caused the last character to be silently\ndropped:\n\n1. **Off-by-one in `resize_and_overwrite`**: `vsnprintf` returns the\n   number of bytes needed *excluding* the null terminator. The fallback\n   called `resize_and_overwrite(size, ...)`, which passed `n \u003d\u003d size`\n   to `vsnprintf`. Since `vsnprintf` needs `n+1` bytes to write `n`\n   characters plus the null terminator, it truncated the output by one\n   character. Fixed by keeping `resize_and_overwrite(size, ...)` and\n   passing `n + 1` to `vsnprintf`: `std::string` always has room for a\n   null terminator past its size, so there is no need to request\n   `size + 1` characters from the string.\n\n2. **`ap` was never the problem**: Because the first `vsnprintf` call\n   uses `apcopy` (not `ap`), `ap` remains valid for use in the\n   fallback. The fallback correctly uses `ap` directly.\n\nThese bugs caused test failures in `copy_file.pass.cpp` on z/OS when the\n`--execdir` path was long enough that the formatted error message\n(which includes paths twice) exceeded 256 characters. The symptom was:\n\n```\nExpected message length: 263 characters\nActual message length: 262 characters (missing final \u0027]\u0027)\n```\n\nWith the fallback now working correctly, the stack buffer stays at its\noriginal 256 bytes — no workaround inflation needed.\n\nCo-authored-by: Sean Perry \u003cperry@ca.ibm.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2a377c5826a83055524a710368e93ec12155a9ea\n"
    },
    {
      "commit": "9b8ccc07b7456e26c985bc0b8411c01997f88c9f",
      "tree": "2d6343ba26c65ae5e65fb6da41cedc8be346ac01",
      "parents": [
        "bcc5a7766d3cc97eb143756dc487e68327a5d61f"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 15:23:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 15:29:21 2026"
      },
      "message": "[libc++] Allow detect-changepoints to analyze several series at once (#234651)\n\nAdd --series-by FIELD, which splits the input into one series per value\nof that field and analyzes each of them on its own. This allows\nanalyzing all the benchmarks for a given machine with a single\ninvocation:\n\ncurl -sS --fail --compressed -G\nhttps://lnt.llvm.org/api/suites/libcxx/series \\\n--data-urlencode machine\u003d\u003cmachine\u003e --data-urlencode\nmetric\u003dexecution_time \\\n      | detect-changepoints --series-by test --aggregate median\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 48a360b11dd13348c123cedf92fe04bd1898843b\n"
    },
    {
      "commit": "bcc5a7766d3cc97eb143756dc487e68327a5d61f",
      "tree": "6ca34bfa1586a6e17f13472cd27321a8ef81de0f",
      "parents": [
        "ce35e0ffc41bc1d96538cbbd8a703b6718f3c4e5"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 13:36:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 13:45:24 2026"
      },
      "message": "[libc++] Share the benchmark paths and the LNT runs listing between the LNT tools (#234616)\n\nThis is a NFC commit that will simplify the introduction of refinement\ntooling in upcoming PRs.\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c01d0cd644a0ea0945ceb9a32279ce670edce83f\n"
    },
    {
      "commit": "ce35e0ffc41bc1d96538cbbd8a703b6718f3c4e5",
      "tree": "1f045aa7dfefc9bd4f075c291ac3f6f045ab7033",
      "parents": [
        "9fb4a4b6625e70274c9e106fd02dc558075792df"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 13:34:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 13:37:20 2026"
      },
      "message": "[libc++][NFC] Update the LNT README to use GET /series (#234619)\n\nI introduced a GET /series endpoint that is not paginated to simplify\ntools that perform regression detection. Use that in the README example.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a5d857a48de815b77dae992ea627379daa9d309b\n"
    },
    {
      "commit": "9fb4a4b6625e70274c9e106fd02dc558075792df",
      "tree": "00173f6ae3b7b795a65e81d4a977252f8a84713d",
      "parents": [
        "fdc43feffb23d4fdb9be1ad8122e785d8e301ee3"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 13:29:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 13:33:08 2026"
      },
      "message": "[libc++] Clean up leftover std::print availability workarounds (#234379)\n\nThe availability markup for std::print was removed in 4a87db6b10a0 and\nthe corresponding macros were deleted entirely in 1616fbaccf82. However,\nseveral functions in \u003cprint\u003e were left templates to work around\nhttps://llvm.org/PR61563, which is not necessary anymore.\n\nRemove a few workarounds that are now unnecessary, and reword others\nthat are required due to format now, not print.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4158a91cde4aa0c1555675976020a7f11f05a18f\n"
    },
    {
      "commit": "fdc43feffb23d4fdb9be1ad8122e785d8e301ee3",
      "tree": "e1103284c2156b58434217b6b05a7a4010fa57cc",
      "parents": [
        "0111734cf05299364e15360b0a823c72ebbe9fb5"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 11:32:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 11:39:08 2026"
      },
      "message": "[libc++][docs] Fix the name of the availability attribute macro (#234380)\n\nThe vendor documentation had a typo (MARKUP vs ATTRIBUTE).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 531b9d251cbf853725301f0265c2e8320cf21bd6\n"
    },
    {
      "commit": "0111734cf05299364e15360b0a823c72ebbe9fb5",
      "tree": "71acb6642d08e4d90f406f2e4172eac58b7899c5",
      "parents": [
        "c8cddc11764796dfc8032a9afac73c77ea1e67c5"
      ],
      "author": {
        "name": "Nikita Popov",
        "email": "npopov@redhat.com",
        "time": "Thu Oct 22 09:25:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 09:36:03 2026"
      },
      "message": "Revert \"[libc++] Fix incorrect size check when growing std::string\" (#234545)\n\nReverts llvm/llvm-project#232737\n\nBroke premerge CI.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 64b40b84eb293e259cfe36add2ac34ab3dafc05c\n"
    },
    {
      "commit": "c8cddc11764796dfc8032a9afac73c77ea1e67c5",
      "tree": "a23904aa5dc48ab8f0907523ae71cff2efbafb5f",
      "parents": [
        "15a0e6345cbb401a8cee6d4a42d0de2de38a6ef7"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Oct 22 08:05:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 08:13:25 2026"
      },
      "message": "[libc++] Fix incorrect size check when growing std::string (#232737)\n\nWhen trying to grow very large amounts the `max_size()` check could fail\ndue to the result of adding the current capacity and the additional\ncapacity could wrap.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5f2c5b7848b91fa235d21761b7887ec10c71bd10\n"
    },
    {
      "commit": "15a0e6345cbb401a8cee6d4a42d0de2de38a6ef7",
      "tree": "71acb6642d08e4d90f406f2e4172eac58b7899c5",
      "parents": [
        "4da53b46c60f0007051f3d8f7b92b4fe320f1ab9"
      ],
      "author": {
        "name": "Sharjeel Khan",
        "email": "sharjeelkhan@google.com",
        "time": "Thu Oct 22 02:21:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 02:27:44 2026"
      },
      "message": "[libc++][Android] Update compiler and sysroot for Android libc++ builders (#234389)\n\nUpgrade Android compiler from r584948b to r596125 because libc++ is\ndropping LLVM 21 support in\nhttps://github.com/llvm/llvm-project/pull/231580. In addition, update\nthe sysroot to the latest NDK r30\u0027s sysroot but Bionic has deprecated\ncertain symbols (btowc, wctob, and strtok) so we ignore\n`Wdeprecated-declarations` for these symbols like\nhttps://github.com/llvm/llvm-project/commit/45ce3f325240417200a7bf89ac6f6c72b190ccbb.\n\nAssisted-by: Gemini\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2e02658913cbb74c3aa4aece44b42a88df475146\n"
    },
    {
      "commit": "4da53b46c60f0007051f3d8f7b92b4fe320f1ab9",
      "tree": "62f97b082f6ca4fc284dbd574876a8b5eeb9b538",
      "parents": [
        "3fe5ed74953c5fd89ae99abe5f1c004be5bc4b23"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 02:10:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 02:17:41 2026"
      },
      "message": "[libc++] Actually run union_tests() in invoke.pass.cpp (#234205)\n\nThe tests for LWG3655 were added to invoke.pass.cpp, but we never\nactually ran them.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0441507623697ba25812481dd54255ee3e5212db\n"
    },
    {
      "commit": "3fe5ed74953c5fd89ae99abe5f1c004be5bc4b23",
      "tree": "210c7f249f5cba5624945c4dd89b2ee86a695353",
      "parents": [
        "0ea61674ae39b45654d73120c438c9851fe75f01"
      ],
      "author": {
        "name": "hchataing",
        "email": "henrichataing@google.com",
        "time": "Wed Oct 21 23:44:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 22 02:17:01 2026"
      },
      "message": "[libc++] Replace integrals helper by types::integer_types (#233923)\n\nintegrals imprecisely describes the list of all integer\ntypes, only \u0027char\u0027 is included from character types\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 56fb6257140e502146a9e8e1da99beed864e1e37\n"
    },
    {
      "commit": "0ea61674ae39b45654d73120c438c9851fe75f01",
      "tree": "aa3959da543dbbb0cac97e781681d12a3d00669b",
      "parents": [
        "d7fbce3f35e55db50e44df5c7ea3568614c50b27"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Oct 21 23:43:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 23:48:21 2026"
      },
      "message": "[libc++] Remove old release notes (#234169)\n\nThe current release is 23, so we don\u0027t need any earlier release notes\nanymore. There is nothing to back-port that could benefit from them.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8ffea316a20a33bb57acdaf7d53c4accd95ce72a\n"
    },
    {
      "commit": "d7fbce3f35e55db50e44df5c7ea3568614c50b27",
      "tree": "eb713a666a7bdbe4ba4d01684ccdc55008d68e14",
      "parents": [
        "b61b745db5197a95efd3ca2f7a27d2bbbd55c48d"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Wed Oct 21 23:42:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 23:47:54 2026"
      },
      "message": "[libc++] Flat containers should reject `vector\u003cbool, Alloc\u003e` (#224886)\n\nUpdate the error condition and the error messages.\nThis is a follow-up to 08daaa8e376a5d.\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ead0877d5bb3d8173c999a261f720cc34729f921\n"
    },
    {
      "commit": "b61b745db5197a95efd3ca2f7a27d2bbbd55c48d",
      "tree": "01cbf51a64fb9414b0a9acff32a130a5f7a92d23",
      "parents": [
        "290c65a80674c3b30f6701e064b93bcd6acd8e3e"
      ],
      "author": {
        "name": "Mehdi Amini",
        "email": "joker.eph@gmail.com",
        "time": "Wed Oct 21 21:47:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 21:52:27 2026"
      },
      "message": "[libc++] Disable automatic module scanning on ARM CI builders (#232947)\n\nThe ARM Buildkite toolchains do not expose clang-scan-deps to CMake.\nWhen CMP0155 enables automatic scanning for libc++abi C++23 sources,\nthese standalone runtimes builds fail with the scanner set to NOTFOUND.\n\nPass CMAKE_CXX_SCAN_FOR_MODULES\u003dOFF in the eight ARM job invocations,\nincluding the no-exceptions variants, until their toolchains provide a\nmatching scanner. Keep the other CI configurations on their defaults.\n\nSee the issue tracking upgrading the bots:\nhttps://github.com/llvm/llvm-project/issues/232946\n\nAssisted-by: Codex\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e8605fba270516fe3715fe38e30904b3217d1bb1\n"
    },
    {
      "commit": "290c65a80674c3b30f6701e064b93bcd6acd8e3e",
      "tree": "c33c657d0bd9f87a4de1c95246fb034671bb405a",
      "parents": [
        "8a5e30e04d34fd59d5dbb86df51a94067f4bdddf"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Wed Oct 21 20:35:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 20:44:21 2026"
      },
      "message": "[libc++] Add coverage for corner case in enumerate_view::size test (#233777)\n\nCompletes the [range.enumerate.sentinel] `size` test by addressing the\nreview comment https://github.com/llvm/llvm-project/pull/73617#discussion_r1416645016\nfrom the original implementation.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7ae415894ac76a6301fb005eb06881acba2c2351\n"
    },
    {
      "commit": "8a5e30e04d34fd59d5dbb86df51a94067f4bdddf",
      "tree": "6f72b40dac4f1f6440797fefbcb5ab447980e9e8",
      "parents": [
        "d91f9cf4e97ee3341b273b61b4e9632fdae730c0"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Wed Oct 21 16:57:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 17:06:47 2026"
      },
      "message": "[libc++][pstl][NFC] Sort the forward declarations in backend_fwd.h (#233477)\n\nThis file has grown quite a lot and is expected to continue growing.\nMake it easier to maintain by organising the forward declarations in a\nstrict lexicographical order.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a6240d136e92e28f0750da242be8cdf2c2e6dc8e\n"
    },
    {
      "commit": "d91f9cf4e97ee3341b273b61b4e9632fdae730c0",
      "tree": "7fd0c6d2d7e7b586254b9d98ca42ffc65e55a784",
      "parents": [
        "acf4cf2771624fd647ac2ee8fe9b1917ef753836"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Wed Oct 21 15:38:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 15:44:04 2026"
      },
      "message": "[libcxx][docker] Update android libc++ builders (#232887)\n\nThe base images were consolidated in #225214. Move to the new base\nimage.\n\nEnsure we run as root, since the new base image runs as `gha`.\n\nTo test:\n\n    $ sudo docker compose --file \\\n      libcxx/utils/ci/docker/docker-compose.yml build \\\n      libcxx-android-builder\n\nLink: #223854\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0262c111c66182312f60b5883b235bf48466ff13\n"
    },
    {
      "commit": "acf4cf2771624fd647ac2ee8fe9b1917ef753836",
      "tree": "21d3612767c6daaf8dc267d16497bb52ec7baa75",
      "parents": [
        "f1e4a61d39dc5217abe6e4dda0e2da27b0479ed1"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Oct 21 13:45:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 13:53:35 2026"
      },
      "message": "Reapply \"[libc++] Remove __libcpp_allocate\" (#222814) (#229771)\n\nThe crash in Clang that caused the revert has been fixed. This works\naround the issue for old compilers by not using `__builtin_operator_{new,delete}` during constant evaluation.\n\nOriginal commit message:\n\nWe use `__libcpp_allocate` and friends only in very specific\ncircumstances.\nInstead of providing a private API we can make `std::allocator` the\ndefault\nAPI for the uses of `__libcpp_allocate`.\n\nThis reverts commit f896082fb9ea598c548bcb63515da7b23ff40f6d.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: edad54e08d3b5f8e8669e7caffcfd406c8bdf5c0\n"
    },
    {
      "commit": "f1e4a61d39dc5217abe6e4dda0e2da27b0479ed1",
      "tree": "783521465e6e51395662d60df0fded6583cd5b8c",
      "parents": [
        "1d630ece8c152a1d636d34ac56270c99671a6f0f"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Oct 21 11:21:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 21 11:26:46 2026"
      },
      "message": "[libc++] Replace __libcpp_allocate with std::allocator in small_bufer.h (#234158)\n\nWe use `__libcpp_allocate` and frineds only in very specific\ncircumstances. Instead of providing a private API we can make\n`std::allocator` the default API for the uses of `__libcpp_allocate`.\nThis is a step towards that goal.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8775913d9b4a58a4162f2c865f31a213ac96f4c0\n"
    },
    {
      "commit": "1d630ece8c152a1d636d34ac56270c99671a6f0f",
      "tree": "fffc403eeb084d6d58cda9ca0b65918b1299e1d2",
      "parents": [
        "d986871ddd6e00cf23969ce7639df7e4a4d29747"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Tue Oct 20 18:26:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 18:34:26 2026"
      },
      "message": "[libcxx][libc] add missing flag to libc config (#233935)\n\nUnder some configs I was getting errors from missing the flag to not\nbuild scudo standalone as a shared library. Add that flag.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5758d8e3120ad749e8a74f2dfec0e43e403d0ff6\n"
    },
    {
      "commit": "d986871ddd6e00cf23969ce7639df7e4a4d29747",
      "tree": "2efe48ce3d78a9656788189ef3bdaaa3b8c957b2",
      "parents": [
        "9b1a975d6475fb0726b20dc1af85bda7869a826c"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Oct 20 15:26:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 15:34:40 2026"
      },
      "message": "[libc++] Add a tool to find when a benchmark result changed (#233656)\n\nAdd `detect-changepoints`, which reads a time series line-by-line and\nreports the changepoints in the time series.\n\nThe method is E-Divisive (Matteson \u0026 James, 2014), which has been used\nfor similar applications (e.g. MongoDB performance tooling similar to\nwhat we\u0027re doing here, see [1]). Note that we\u0027re not using the\n`signal-processing-algorithms` package [2] since that repo seems barely\nmaintained and does not support Python \u003e 3.11.\n\n[1]: https://dl.acm.org/doi/10.1145/3491204.3527488\n[2]: https://github.com/mongodb/signal-processing-algorithms\n\nAssisted by Claude\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9574c664f774ee83c9487f38e51d8d52f8323b4e\n"
    },
    {
      "commit": "9b1a975d6475fb0726b20dc1af85bda7869a826c",
      "tree": "7bbd26199cc8a574b7d4643edee2380a0355e5e6",
      "parents": [
        "5cf377e636144560db147ed5c36088c79cd6c946"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Oct 20 14:29:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 14:34:32 2026"
      },
      "message": "[libc++] Optimize filebuf::seekoff (#211788)\n\nIn some cases it is possible to avoid synchronizing with the underlying\nstream, and instead just move the cursor inside the buffer. This can\nsignificantly improve performance, since it avoids making potentially\nexpensive syscalls.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c59cd09df19686f62238acea334930dd37218ce7\n"
    },
    {
      "commit": "5cf377e636144560db147ed5c36088c79cd6c946",
      "tree": "a4a3bbbafe824e7972b995ba020a3342ecb5745f",
      "parents": [
        "b422e51259ea4904c60f7702687f1d86042877b7"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Tue Oct 20 10:35:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 10:44:06 2026"
      },
      "message": "[libc++] Mark xopen_source test unsupported on OpenBSD (#233710)\n\nOpenBSD\u0027s headers strictly honor _XOPEN_SOURCE. With 500 and 600 the\nPOSIX.1-2008 locale API (locale_t, uselocale(), LC_*_MASK) is hidden,\nand with any value below 800 asprintf() is hidden since it is only\nexposed for POSIX.1-2024 or the BSD namespace. libc++\u0027s OpenBSD locale\nsupport relies on these from public headers, so every generated test\nfails.\n\nMark the test unsupported on OpenBSD targets, as is already done for\nFreeBSD.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2b83d6a4ef40f9aec3fc7c6a59129ea0875f462d\n"
    },
    {
      "commit": "b422e51259ea4904c60f7702687f1d86042877b7",
      "tree": "980811758e31fe29c2605b89676702fc38781fa3",
      "parents": [
        "0352f4d900dccfc111541c22fd7bbcc91ee276f5"
      ],
      "author": {
        "name": "Vishank Singh",
        "email": "vishanksinghh@gmail.com",
        "time": "Tue Oct 20 06:34:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 06:36:54 2026"
      },
      "message": "[libc++] Mark LWG4460 as Nothing To Do (#232252)\n\nLWG4460 only adds a missing Throws: element to the last variant\nconstructor. libc++ already has the correct behaviour, so no code\nchanges are required.\n\nCloses #189836\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3f4cb78fba0238f526ada5c58fbcb31a39b69a3d\n"
    },
    {
      "commit": "0352f4d900dccfc111541c22fd7bbcc91ee276f5",
      "tree": "77b7baf7ffe837743c437ef7c596e6c13a00a804",
      "parents": [
        "55092edb6678bc2ba9c670564747c7a4d156660e"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Oct 20 01:24:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 20 01:31:32 2026"
      },
      "message": "[libc++] Record more information about commits submitted to LNT (#233634)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0a44be7598b62ce9b5dde3b44fb453cba4318277\n"
    },
    {
      "commit": "55092edb6678bc2ba9c670564747c7a4d156660e",
      "tree": "302dfad846383887fd5905c8d67aed172c5c9397",
      "parents": [
        "cf7c31357567b3f8b80319034af4497e4362e1b4"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Mon Oct 19 20:59:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 21:02:37 2026"
      },
      "message": "[libc++] Introduce a free function __thread_hardware_concurrency() (#232284)\n\nIt allows to query the available hardware concurrency without depending\non entirety of `std::thread`.\nRequired for #229804.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 13965e697f2d41ba7fbd37cc13a8a52ac516aa41\n"
    },
    {
      "commit": "cf7c31357567b3f8b80319034af4497e4362e1b4",
      "tree": "3a62ca2a655b9a3b174dc4623b5cecf86a096834",
      "parents": [
        "f479e9a9be3cf50235cb17d8fecd0e8fec8fbaf2"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Mon Oct 19 20:58:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 21:02:15 2026"
      },
      "message": "[libc++][pstl] Make the serial backend the ultimate fallback for all backends (#233421)\n\nAlways fall back to the serial backend as a last resort when an\nalgorithm implementation was not found.\nThis is a preparation before exposing a bunch of PSTL algorithms we\ndon\u0027t currently intend to parallelise.\n\nFixes #229813\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2426d159ca098100833a523685f11648078645c4\n"
    },
    {
      "commit": "f479e9a9be3cf50235cb17d8fecd0e8fec8fbaf2",
      "tree": "81b9e35f9f8d035e494905bb37f80d2e91ca3892",
      "parents": [
        "94e9ef855aad36de8c6f42d263ffa116ee262c7a"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Mon Oct 19 15:53:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 19 16:00:32 2026"
      },
      "message": "[libc++][pstl] Add more tests of parallel std::for_each[_n] (#231918)\n\nThe existing test coverage of parallel `std::for_each[_n]()` is rather\nshallow, this PR adds more tests.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 79b321b1238ceaf8261a5b177185a3ec5111918a\n"
    },
    {
      "commit": "94e9ef855aad36de8c6f42d263ffa116ee262c7a",
      "tree": "ac6723b4ea3dba9d552ef7f7e794297e844fad22",
      "parents": [
        "f30c130178b6dd5029dbdbeed5c8cec1d329d6f2"
      ],
      "author": {
        "name": "Michiel van Slobbe",
        "email": "michiel.van.slobbe+github@gmail.com",
        "time": "Sun Oct 18 11:21:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 18 11:27:09 2026"
      },
      "message": "[libc++] Don\u0027t claim strong emplace guarantee for vector/deque of throwing-move types (#229686)\n\n`__container_traits\u003cvector\u003e` and `__container_traits\u003cdeque\u003e` set\n`__emplacement_has_strong_exception_safety_guarantee` whenever `T` is\nCpp17CopyInsertable. [vector.modifiers]/2 and [deque.modifiers]/3 only\nguarantee \"no effects\" for an insertion at the end (or at either end for\ndeque). An insertion in the middle move-constructs and move-assigns\nexisting elements, and exceptions from those operations are excluded\nfrom the guarantee.\n\nThe flat containers use this trait in `__emplace_exact_pos` to decide\nwhether to clear themselves when an emplacement throws. Because the\ntrait\nis too optimistic, they skip the clear and are left in a state that\nbreaks their invariants\n\nThis patch reports the strong guarantee only when `T` is nothrow move\nconstructible and nothrow move assignable. In that case the only\noperations that can throw (allocation and constructing the new element)\nrun before the container is modified, so \"no effects\" really holds.\n\nBehavior change: for element types without nothrow moves (copy-only\ntypes, types with a non-noexcept move, `std::pmr::string`), a flat\ncontainer is now cleared when an insertion throws, including for\n`std::bad_alloc`. Previously such an insertion could either leave the\ncontainer unchanged or corrupt it, depending on where the exception came\nfrom. Clearing is what [flat.map.overview] permits. The non-throwing\npath\nis unchanged.\n\nAn AI coding assistant was used to help build the fuzzer harness which discovered the issue and draft the patch.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 272757d928047af326705f349d469ac02a8a3dca\n"
    },
    {
      "commit": "f30c130178b6dd5029dbdbeed5c8cec1d329d6f2",
      "tree": "b21bae38232fd3aa9214f598992741402301de6f",
      "parents": [
        "c37fbe5198afafb1b93a882c230363218bc74d71"
      ],
      "author": {
        "name": "Chris Kennelly",
        "email": "ckennelly@ckennelly.com",
        "time": "Sun Oct 18 04:26:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 18 04:33:03 2026"
      },
      "message": "[libc++] Fix use-after-free during self-assignment (#225296)\n\nThe range [data(), data() + size() + 1) points into the string\u0027s own\nbuffer and is one element longer than the capacity when the buffer is\nfull, so assigning it reallocates:\n\n  std::string str;\nstr.resize(str.capacity(), \u0027a\u0027); // size() \u003d\u003d capacity()\n  str.assign(str.data(), str.data() + str.size() + 1);  // reallocates\n\n__assign_trivial called __grow_by_without_replace up front and read the\nrange afterwards, by which point the buffer holding it had been\nreleased: that is a heap-use-after-free for a long string, and for a\nshort string the long representation has been written over the small\nbuffer the range points into, so the assignment silently stores garbage.\n\nAllocate the new buffer and read the range into it before releasing the\nbuffer the string holds. That also keeps the range valid in the exotic\ncase where it is the byte representation of the string object itself,\nwhich the comment this replaces called out. The capacity the assignment\ngrows to is unchanged.\n\nThis regressed in baf6f91851ed (\"[libc++][ranges] Implement the changes\nto `basic_string` from P1206 (`ranges::to`)\"), which moved\nassign(_ForwardIterator, _ForwardIterator) into __assign_trivial and\ndropped the __addr_in_range check that had routed self-referencing\nranges through a temporary since e87479b00fcc; the bug is present in\nevery release since LLVM 17. See https://godbolt.org/z/nWPvK5hqP\n\nConstant evaluation diagnoses the read of the released buffer, so the\nstatic_assert covering the new case rejects the unpatched header\noutright in C++20 and later.\n\nAssisted-by: Antigravity\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eec054bb4a74ed8605efc4c25ab7f046f665d0b3\n"
    },
    {
      "commit": "c37fbe5198afafb1b93a882c230363218bc74d71",
      "tree": "249bc1b0504ad846b3a7d457b8e0ecfe9f773aa1",
      "parents": [
        "1acb5b8bd0871c4f1b25111ed4fa3c2582e56ef2"
      ],
      "author": {
        "name": "Emmett",
        "email": "emmettzhang2020@outlook.com",
        "time": "Sun Oct 18 02:23:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Oct 18 02:29:08 2026"
      },
      "message": "[libc++] Granularize \u003cexecution\u003e (#229315)\n\nMove execution policies into `__execution/execution_policies.h`\nto separate them from upcoming C++26 sender/receiver components.\n\nAlso move `__type_traits/is_execution_policy.h` into `__execution`\ndirectory.\n\nThis is a prerequisite for #229095.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 88787ac0a5f8a5c0dd039809d9e57ee3a03b9ae1\n"
    },
    {
      "commit": "1acb5b8bd0871c4f1b25111ed4fa3c2582e56ef2",
      "tree": "daf97a349856489c29392d48d27cd4a4664b4ad4",
      "parents": [
        "13dc5656098b1d0667dc917b27c6fbe4eafd37a6"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Oct 16 19:03:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 19:11:23 2026"
      },
      "message": "[libc++] Remove the LNT v4 test suite schemas (#232897)\n\nWe are using the v5 schemas instead now.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 55ebe849c3a6ac4f5292a99cff6c645ca442f3aa\n"
    },
    {
      "commit": "13dc5656098b1d0667dc917b27c6fbe4eafd37a6",
      "tree": "bd1331753f70d501aea60b1ac3dc63c8f9de85d2",
      "parents": [
        "65eabd244dec80381f64dce5d7dc7dd977b0fb9b"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Oct 16 19:02:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 19:10:31 2026"
      },
      "message": "[libc++] Bump the LNT machines to the latest version of the test suite (#232895)\n\nSince we are starting from an empty LNT v5 instance, this is a good time\nto bump everything.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 36d9c57de23cb75850ff4280d9ab7ef3a1601cf4\n"
    },
    {
      "commit": "65eabd244dec80381f64dce5d7dc7dd977b0fb9b",
      "tree": "eb0c574273c55fad54f0bfcb2934f1850ba1534b",
      "parents": [
        "3490a290627895d3fdd46e0645de3839cb2d17c3"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Oct 16 18:49:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 18:54:59 2026"
      },
      "message": "[libc++] Switch the libc++ benchmark pipelines to LNT v5 (#232888)\n\nSince lnt.llvm.org is now running LNT v5, switch the benchmark pipelines\nover to it. Note that we hardcode the submission URL now because\nsubmitting requires an API key, so allowing the submission workflows to\nsubmit to another instance would allow leaking that token.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 850fd86b140c622027eef26b1fca262f6e493487\n"
    },
    {
      "commit": "3490a290627895d3fdd46e0645de3839cb2d17c3",
      "tree": "c8eca47e9f67f13b7c3f2a1d2ed46a94851eb722",
      "parents": [
        "a269081a9849fe67b33f3bd810187bfab2df8902"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Oct 16 18:00:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 18:07:59 2026"
      },
      "message": "[libc++] Update the LNT tooling to LNT v5 (#232866)\n\nlnt.llvm.org now runs LNT v5, which has a different submission format\nand REST API than the LNT v4 instance. This updates the scripts that\ntalk to LNT accordingly.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9198b30dfa3a3e39dd05ba5e08dc5a104222ece1\n"
    },
    {
      "commit": "a269081a9849fe67b33f3bd810187bfab2df8902",
      "tree": "aacf2104a3ee8840d20aead471b334d8f8a9b062",
      "parents": [
        "a087793c4ea5f6cd9732ccf5d28a986b08ab99a6"
      ],
      "author": {
        "name": "Alex Rønne Petersen",
        "email": "alex@alexrp.com",
        "time": "Fri Oct 16 13:28:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 13:35:16 2026"
      },
      "message": "[libcxx] fix missing `__get_locale_encoding()` for OpenBSD (#228306)\n\nFixes errors like this:\n\n/home/alexrp/Sources/ziglang/zig-llvm23/lib/libcxx/src/text_encoding.cpp:34:43:\nerror: no member named \u0027__get_locale_encoding\u0027 in namespace\n        \u0027std::__locale\u0027\n34 | return\n__make_text_encoding(__locale::__get_locale_encoding(static_cast\u003c__locale::__locale_t\u003e(0)));\n| ^~~~~~~~~~~~~~~~~~~~~\n\n/home/alexrp/Sources/ziglang/zig-llvm23/lib/libcxx/src/text_encoding.cpp:48:41:\nerror: no member named \u0027__get_locale_encoding\u0027 in namespace\n        \u0027std::__locale\u0027\n48 | return __make_text_encoding(__locale::__get_locale_encoding(__l));\n        |                                         ^~~~~~~~~~~~~~~~~~~~~\n    2 errors generated.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 19f123540bfc1dc55f93d4dc22a3276b434f6cc4\n"
    },
    {
      "commit": "a087793c4ea5f6cd9732ccf5d28a986b08ab99a6",
      "tree": "2b1a50fee42663575ed4700c8b7e8b490c4583b9",
      "parents": [
        "966e868d9cbc7cd7c1482631f0a9d2d4e03249dc"
      ],
      "author": {
        "name": "Himadhith",
        "email": "hima130602@gmail.com",
        "time": "Fri Oct 16 11:54:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 16 13:34:54 2026"
      },
      "message": "[libc++] Don\u0027t export ABI tagged __str_to_float_c_locale specializations on MinGW (#229456)\n\nFixes a regression caused by\nhttps://github.com/llvm/llvm-project/pull/222081. The issue is that when\nbuilding the library with a different ABI tag configuration causes\nbreakage for mingw configurations.\n\nThis patch splits `#if defined(_LIBCPP_MSVCRT)` guard to wrap the\nprimary template declaration.\n- MSVCRT path: primary keeps `_LIBCPP_HIDE_FROM_ABI`.\n- non-MSVCRT path: primary has no `_LIBCPP_HIDE_FROM_ABI`, so no abi_tag\nis inherited by any specialization.\n\nSee\nhttps://github.com/llvm/llvm-project/pull/222081#issuecomment-6002367552\nand\nhttps://github.com/llvm/llvm-project/pull/218527#issuecomment-5984167461\nfor more details.\n\nThis also collapses `__str_to_float_c_locale` for `\u003cfloat\u003e \u0026 \u003cdouble\u003e`\nto use inline `_strtof_l` and `_strtod_l ` as it\u0027s available on both\nMSVCRT and MinGW.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c7da05f9828542daaf634a6f4277212b5f6194d5\n"
    },
    {
      "commit": "966e868d9cbc7cd7c1482631f0a9d2d4e03249dc",
      "tree": "23ffef6979c4d2a43fec81b6c2f670888c4c1a66",
      "parents": [
        "e5720f402ee3c19353e51e1605fb22a63ecb3108"
      ],
      "author": {
        "name": "Vladi Krapp",
        "email": "vladi.krapp@arm.com",
        "time": "Thu Oct 15 08:24:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 08:31:56 2026"
      },
      "message": "[libcxx] Include \u003cctime\u003e directly in header that uses struct tm (#231158)\n\nFollowing https://github.com/llvm/llvm-project/pull/229601, this patch\nproposes a fix similar to\nhttps://github.com/llvm/llvm-project/pull/229957\nThis will fix users of `\u003cctime\u003e` that previously got it as indirect\ninclude via libcxx/include/__locale_dir/support/no_locale/characters.h\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e915504aa2d52a25f1c5383c5dde469880cd5ad3\n"
    },
    {
      "commit": "e5720f402ee3c19353e51e1605fb22a63ecb3108",
      "tree": "7b9a7375a19b2b5e7f6e06f019e990114f5b5e5a",
      "parents": [
        "5d7c783949bc8509e0decc02386352ca545fb247"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 15 03:27:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 03:33:29 2026"
      },
      "message": "[libc++] Extract running the benchmarks into reusable workflows (#232168)\n\nThis patch moves the jobs that actually run the benchmarks into their\nown workflows and defines the full \"benchmarking pipeline\" in a\ndedicated workflow as well. This allows seeing the full set of steps in\nthe pipeline in a concise way, and removes most of the remaining\nduplication of logic.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a5f1fba5def518c49f44e6af468ac7cbd4cdf422\n"
    },
    {
      "commit": "5d7c783949bc8509e0decc02386352ca545fb247",
      "tree": "d752309f817165e91631c5d0a228154693e59935",
      "parents": [
        "461d60e3d572d476a635c602e7b4ab6bfc48da07"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 15 02:17:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 15 02:22:12 2026"
      },
      "message": "[libc++] Extract LNT benchmark validation into a reusable workflow (#232155)\n\nThis allows sharing the logic for validating the LNT machines definition\nbetween the libc++ and the libstdc++ benchmarking jobs. As part of that,\nI noticed that these jobs only used a subset of the fields in\nmachines.json, so this PR regroups them into a sub-entry. There are now\ntwo aspects in machines.json: \"when\" we measure something, and \"how\" we\nmeasure something, and both are sub-objects.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1a36edc8803d92b23f8c0b3be7dc559bbb971161\n"
    },
    {
      "commit": "461d60e3d572d476a635c602e7b4ab6bfc48da07",
      "tree": "5da11b6cee27d0dcaf2d7f8515bf8cd96483ee7d",
      "parents": [
        "baa581a4362fd6702de723ded35c5f6ddc50394a"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Oct 14 20:33:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 20:38:51 2026"
      },
      "message": "[libc++] Remove --allow-missing-machine from plan-benchmarks (#232042)\n\nI liked the idea of an additional guard in theory, but in practice this\nonly makes it more painful to change the configuration and doesn\u0027t\nprovide additional safety since the configuration is stored\nauthoritatively in machines.json.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3ba830048d6fc2351c56206d60017e9237cf31e2\n"
    },
    {
      "commit": "baa581a4362fd6702de723ded35c5f6ddc50394a",
      "tree": "26effb609d26d7f0292fc2eda315d896b7b7fef2",
      "parents": [
        "8ad9cb4ead6648b3d79e105f94f9e5bcf677b01d"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Oct 14 18:02:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 18:08:03 2026"
      },
      "message": "[libc++] Remove redundant `_LIBCPP_HIDE_FROM_ABI` from detail headers a-c (#201722)\n\nThis is the first bulk-removal patch of `_LIBCPP_HIDE_FROM_ABI`. While\nthis is something we could do over time, actively removing the redundant\nannotations significanly improves readability, and QoI.\nThis happens in a few patches to keep the size somewhat manageable.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6efd62d3b09c0fd1445cb7c4e75ec41a6081b80a\n"
    },
    {
      "commit": "8ad9cb4ead6648b3d79e105f94f9e5bcf677b01d",
      "tree": "09891cc0bf60a266ff4c84f11370b5c035d27042",
      "parents": [
        "35dbc0f72530a9df71f778f9b19d4e8ee2b48cbd"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Oct 14 17:29:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 14 17:37:19 2026"
      },
      "message": "[libc++] Add LNT v5 schemas for the libcxx and libstdcxx test suites (#231998)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2d747cb94a0cd4636f1fb3acee265b9e3c3655ab\n"
    }
  ],
  "next": "35dbc0f72530a9df71f778f9b19d4e8ee2b48cbd"
}
