)]}'
{
  "log": [
    {
      "commit": "9ed975799d60b255c8996226b5742687ddcdc047",
      "tree": "39ec1aac23cacf475d8f2518ad0b7c3da09c2c49",
      "parents": [
        "1f485b940a49938bc408b4f00dfb133ab8afab82"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Thu Sep 17 20:34:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 17 20:38:09 2026"
      },
      "message": "[libcxx] Update libatomic check (#224162)\n\nThis PR is a proper fix for the libatomic workaround. The old system\njust checked if adding `-latomic` succeeded, and added it if it worked.\nAfter this change it checks if an example program works without\n`-latomic` as well as with `-latomic`. It adds the flag only if the test\npasses with `-latomic` and not without.\n\nIn short: the new version only adds `-latomic` if it\u0027s necessary.\n\nAssisted-by: Automated tooling, human reviews.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 367adb1b93018af34e3053a7cfd790152bfb27b3\n"
    },
    {
      "commit": "1f485b940a49938bc408b4f00dfb133ab8afab82",
      "tree": "66020fcdbe29da8031c7d26e6cb26493f8c3c80a",
      "parents": [
        "f366801d129ae1e7fff285384b8e8b5cff943892"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Sep 17 20:24:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 17 20:28:14 2026"
      },
      "message": "[libc++] Include some Lit features in LNT submissions (#218043)\n\nThe Lit test suite already sniffs out some properties of the library\nconfiguration we are testing / benchmarking. This patch augments the\nrun-benchmarks script to pick up a few of these detected features so\nthey can be included in the Machine information contained in\nsubmissions.\n\nThis is important to help pin down exactly what is being benchmarked.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2f3917f3be099ca83294ecc3f8c78460a7688808\n"
    },
    {
      "commit": "f366801d129ae1e7fff285384b8e8b5cff943892",
      "tree": "dfa32e4e0cedef4edaf700c718eb405dca63bb71",
      "parents": [
        "cbacbf2146263a1ef0da67223703f30def8a237e"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Thu Sep 17 20:01:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 17 20:09:36 2026"
      },
      "message": "[libcxx][libc] Update LLVM-libc link list (#224164)\n\nLLVM-libc provides all the libc functions in `libc.a` and `libm.a`, so\nthis PR adds the configuration flags that prevent linking\n`libpthread.a` and `librt.a` (inside `libc.a`) and `libatomic.a` (inside\ncompiler-rt).\n\nAssisted-by: Automated tooling, human reviewed.\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 98039dad349cd3f40b0d39bf436f2b0159ba021c\n"
    },
    {
      "commit": "cbacbf2146263a1ef0da67223703f30def8a237e",
      "tree": "3d80c010806086fc872c124a0971ba715016e548",
      "parents": [
        "0facf8506811c2497e9ddbf8d879a531ec5130c7"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Sep 17 20:00:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 17 20:08:18 2026"
      },
      "message": "[libc++] Automatically detect the OS in benchmark jobs (#224386)\n\nThis simplifies the machines.json definition: we don\u0027t have to\nexplicitly say what OS we\u0027re running on, the job just figures it out.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 24f753696202a3598d094da38809b1f5208d918f\n"
    },
    {
      "commit": "0facf8506811c2497e9ddbf8d879a531ec5130c7",
      "tree": "5e2af5cb4dee95a79938d3826b73d81e799e4a28",
      "parents": [
        "72f80371b16c0be56c0a2060d2123cb45f2f5854"
      ],
      "author": {
        "name": "Michael Jones",
        "email": "michaelrj@google.com",
        "time": "Thu Sep 17 16:58:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 17 17:02:20 2026"
      },
      "message": "[libcxx][libc] Update LLVM-libc/compiler-rt config (#224160)\n\nThe config libc++ uses to build with LLVM-libc uses compiler-rt, but\npreviously wasn\u0027t building the compiler-rt atomic library. This PR\nupdates the config to tell compiler-rt to build its atomic library.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 63225d3616be90ab15b97919ac12ae0ab052ac82\n"
    },
    {
      "commit": "72f80371b16c0be56c0a2060d2123cb45f2f5854",
      "tree": "219fe2b808392167d06c3387baa0a03750dbd6b7",
      "parents": [
        "537b837c4c61f164a9ba22b1fab02cc074c7cc07"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 17 09:41:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 17 09:48:51 2026"
      },
      "message": "[libc++] Move _LIBCPP_GET_C_LOCALE to the locale base API (#222924)\n\nHow to retrieve the C locale is fundamentally a property of the\nunderlying libc, so it should really be part of the locale base API.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9e0686cca51613229ef85788ee5d1deee0595b92\n"
    },
    {
      "commit": "537b837c4c61f164a9ba22b1fab02cc074c7cc07",
      "tree": "540399faa24d01960128bb58295ad9617f8b68f1",
      "parents": [
        "90edeff5405a775294f32c1cd472f4a2ee630027"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 17 09:37:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 17 09:44:02 2026"
      },
      "message": "[libc++] Fix performance regression in std::num_put (#223334)\n\n`__pad_and_output` calls `std::copy` and `std::fill_n` unconditionally,\neven though the calls are quite likely to do nothing. Adding conditions\nalso allows the compiler to do jump-threading.\n\nFixes #178685\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 47f9b707bf14755bf969d9b9d45419f7c5c85abd\n"
    },
    {
      "commit": "90edeff5405a775294f32c1cd472f4a2ee630027",
      "tree": "2363b484260fdbd7e694f56c6a24a1dada635f7e",
      "parents": [
        "cc5069db4bc2f7b211aa44e1410cf8b93767a9ea"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Wed Sep 16 19:14:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 19:17:15 2026"
      },
      "message": "[libc++][pstl] Benchmark for parallel std::for_each (#222153)\n\nAdds the first benchmark suite for PSTL algorithms - `std::for_each`.\nIt measures the algorithm against 3 different sizes: `64`, `64K` and\n`64M` elements; and against 3 different per-element operation costs:\n`minimal`, `cheap` and `expensive`, thus producing 9 separate\nbenchmarks.\nThe suite normally runs only with `std::execution::par`, serial\nbenchmarks can be additionally executed by defining\n`TEST_PSTL_ENABLE_SEQ_BASELINES`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1ac93e094347b45208f215c98038606432c87d60\n"
    },
    {
      "commit": "cc5069db4bc2f7b211aa44e1410cf8b93767a9ea",
      "tree": "d9475fb4e90037092a05b252a8deb768c2c2adcd",
      "parents": [
        "95175ce0504a49da4d7e15b2718ca56eb25febc4"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Sep 16 18:11:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 18:18:01 2026"
      },
      "message": "[libc++][ci] Retarget the ARM BuildKite runners (#224107)\n\nI enabled agent clusters in BuildKite since unclustered agents are not\nsupported anymore. As part of that, I created a new libcxx-builders-arm\nqueue to replace the existing queue. This patch switches the pipeline\ndefinition so that new jobs start targeting the new queue with clustered\nagents.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 01edf187213105e35db8aef724a63f86241b6bd4\n"
    },
    {
      "commit": "95175ce0504a49da4d7e15b2718ca56eb25febc4",
      "tree": "4b41428b05ec0421d2de36452909324ec5a36a35",
      "parents": [
        "57c92119497637c93adf01e9f2120384e02b05b8"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Sep 16 16:37:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 16:45:46 2026"
      },
      "message": "[libc++] Fix query benchmarks for associative containers (#216065)\n\nWe were calling get_key and the random number generator in the hot loop.\nInstead, create a pool of keys to draw from in the initial setup phase,\nand then query these keys in a round-robin fashion.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 28cf18776b433264c7f19919c035f9f8a3143e1b\n"
    },
    {
      "commit": "57c92119497637c93adf01e9f2120384e02b05b8",
      "tree": "a85f254451f4d5d8128cba436bb755b845887981",
      "parents": [
        "dd9f3454d8cb00f00c6908ae2f076ceb448f2540"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Sep 16 16:36:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 16:44:39 2026"
      },
      "message": "[libc++] Return a const reference from get_key in benchmarks (#216088)\n\nIt was unnecessary to create a temporary string, and in fact it would\nhave a negative impact on some benchmarks like `erase(key) (existent)`\nwhich called get_key in the hot loop.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 40057479b2894cf56e65992a007d679c0c4d639c\n"
    },
    {
      "commit": "dd9f3454d8cb00f00c6908ae2f076ceb448f2540",
      "tree": "a6a9ca5b6e891bfe23fcc0d2793bc2173c406021",
      "parents": [
        "d6e441bf4534020656d70a6b2c57bef70fbfbba7"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Sep 16 16:33:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 16:40:07 2026"
      },
      "message": "[libc++] Reword confusing warning message about AppleClang version (#222380)\n\nAppleClang 26.4 is not a thing -- it\u0027s AppleClang 21.0 that shipped with\nXcode 26.4.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9e39a5e4a606e2ef8e46bd4a947f0b39feacecc7\n"
    },
    {
      "commit": "d6e441bf4534020656d70a6b2c57bef70fbfbba7",
      "tree": "315e89cd5057a7d44dd85a69b49aaf0cf729c940",
      "parents": [
        "e4fda21343f97c2290d4fe94a2b0ee84653fbd8d"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Wed Sep 16 16:23:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 16:30:41 2026"
      },
      "message": "[libc++][pstl] Use libdispatch on Apple platforms by default (#223240)\n\nCurrently the default on Apple platforms is \"std_thread\", which is a\nserial dummy.\nTo enable automatic benchmarking of PSTL, set the backend to\n\"libdispatch\" by default, so it doesn\u0027t require specific overrides in\n`libcxx/utils/ci/lnt/cmake`.\n\nAs a drive-by, fixes some of the minor issues with this backend that\nsurfaced once more pipelines started using it.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 998c6e2511a4806ea1c37af6e1f1b776f5205455\n"
    },
    {
      "commit": "e4fda21343f97c2290d4fe94a2b0ee84653fbd8d",
      "tree": "0deec6c13f14c6244cd2c5134e27227c4299197c",
      "parents": [
        "8808d98f4ca0b030f3fba6c10a7eb7a50cd2f9d0"
      ],
      "author": {
        "name": "google-yfyang",
        "email": "yfyang@google.com",
        "time": "Wed Sep 16 15:48:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 15:54:15 2026"
      },
      "message": "[libc++] Skip including langinfo.h when unused (#223749)\n\nA previous change unconditionally includes \u003clanginfo.h\u003e.\n__get_locale_encoding() only uses langinfo when compiling shared\nlibraries, and hardcodes \"UTF-8\" on Android.\n\nglibc\u0027s \u003clanginfo.h\u003e defines POSIX nl_item constants as raw numeric\npreprocessor macros (#define ERA 46).\nThis causes Bionic\u0027s #define ERA 46 leaks into C++ translation units on\nAndroid and fails the compilation with:\n\n```\nerror: expected member name or \u0027;\u0027 after declaration specifiers\n   static constexpr typename ERA \u003d random_value;\n```\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 91a87531f26b989863517e07f0648733029c7cfe\n"
    },
    {
      "commit": "8808d98f4ca0b030f3fba6c10a7eb7a50cd2f9d0",
      "tree": "6c2774de05e39f3a15d0698e6aac10f9356d35b6",
      "parents": [
        "fcf1e0f1ba258f5cbcf96f5485d735844721ab5f"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Sep 16 15:12:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 15:21:49 2026"
      },
      "message": "[libc++] Optimize string::erase (#223721)\n\nThis change allows the `traits_type::move` (i.e. `memmove`) call to be\ntail-called, removing the need for allocating any stack space and a\ncall. We also copy the null terminator through `memmove` instead of\ninserting it manually.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9dc532b79f8676ad1a7795d0869feb05b558267f\n"
    },
    {
      "commit": "fcf1e0f1ba258f5cbcf96f5485d735844721ab5f",
      "tree": "76d244b3291e0dee249c7c3ec4f069e7a120a68c",
      "parents": [
        "fc7886f818fbe144804fa6b918cca58b57b7ec9c"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Sep 16 15:08:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 15:17:49 2026"
      },
      "message": "[libc++] Take the mersenne twister ABI break unconditionally (#222700)\n\nTechnically this is ABI breaking, since we change the meaning of the\nbytes inside the mersenne twister. However, this doesn\u0027t cause changes\nin the size of any objects and is only an issue in very specific\ncircumstances. Specifically, the mersenne twister has to be passed on an\nABI boundary and be used on both sides of that ABI boundary. If it\u0027s\nonly used on one side, the values will continue to be correct, since\nonly a single algorithm is used. Even then, the only issue is that the\nvalues aren\u0027t properly randomized, since both versions of the mersenne\ntwister implementation read the same type of data and produce the same\nkind of output with it.\n\nFixes #209514\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e364b9da263dcd9a4dcda0d183f403d3f138bb51\n"
    },
    {
      "commit": "fc7886f818fbe144804fa6b918cca58b57b7ec9c",
      "tree": "fb3d1c8ea89530b660f115cfdc6387db497d3abb",
      "parents": [
        "fb20b3f59fae78c3089c86c073c3fd861ffbd0cc"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Sep 15 14:23:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 15 14:29:21 2026"
      },
      "message": "[libc++] Don\u0027t assume a valid range in find_if for empty inputs (#213752)\n\nIterators for empty ranges are sometimes implemented using a\nnon-aligned sentinel value. Requiring proper alignment in that\ncase (which is part of the valid range assumption) causes a\nhardening failure. Instead, don\u0027t make the assumption of a\nvalid range when the input range is empty in find_if.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 83290d61f6ead40a5c38297a0442b63291ce7a48\n"
    },
    {
      "commit": "fb20b3f59fae78c3089c86c073c3fd861ffbd0cc",
      "tree": "1b8009319f587d50ecef7f3154801e0a7d282aa0",
      "parents": [
        "219390274ea029ccdc2217036c2a3732cd2c6d7d"
      ],
      "author": {
        "name": "Jan Schultke",
        "email": "me@eisenwave.net",
        "time": "Tue Sep 15 14:03:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 15 14:08:51 2026"
      },
      "message": "[libc++] Implement `\u003cbit\u003e` parts of P3793R2 Better shifting (#219389)\n\nPartially implements #204401\n\nThat is, the scalar `\u003cbit\u003e` parts are implemented, but the `\u003csimd\u003e`\noverloads are missing. Notice that only `__cpp_lib_bitops` is set to\n`202606L`. `__cpp_lib_simd_bitops` is missing.\n\nThe implementations of `shl` and `shr` are based on the reference\nimplementation in the paper. The test code is partially AI-generated and\ninspired by the test code for `rotl` or `rotr`, but comes with\nsignificant modernizations.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 058ca1274446c7fa27b193237a90c21dddf7833c\n"
    },
    {
      "commit": "219390274ea029ccdc2217036c2a3732cd2c6d7d",
      "tree": "bf406b8ae4b505c22ef3909b0ae6842feac092dd",
      "parents": [
        "bf0edf8bb701fb76a7154980fcbf66ebe55e9ed6"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Tue Sep 15 11:47:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 15 11:51:57 2026"
      },
      "message": "[libc++][deque] Apply `[[nodiscard]]` to `deque::get_allocator` (#223599)\n\nAdded the missing `[[nodiscard]]`.\n\nhttps://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 66ec80c99d36c2b53d3c5e2b895e2f1eba8bfbe7\n"
    },
    {
      "commit": "bf0edf8bb701fb76a7154980fcbf66ebe55e9ed6",
      "tree": "705e494ef94e45b4cb3254786587b52be6337600",
      "parents": [
        "ddff71d72ed2221db1d8d7a097ea69b65449c062"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Mon Sep 14 20:25:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 20:34:06 2026"
      },
      "message": "[libc++][test-suite][NFC] Move `unused_variables` tests (#223234)\n\n`[diagnostics]` is a section in The Standard\nhttps://wg21.link/diagnostics. According to libc++ test-suite\norganization `libcxx/test/libcxx/diagnostics/` should contain related\ntests.\n\nThe following tests:\n- `unused_variables.compile.pass.cpp`\n- `unused_variables.verify.cpp`\n\nshould live in:\n- `libcxx/test/libcxx/`\n\nThis is a follow-up to the re-organization of `nodiscard.verify.cpp`\ntests, which initially were also placed in `diagnostics`.\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c115db8da9fe007bd7804c12bb7bb62a9ca569ba\n"
    },
    {
      "commit": "ddff71d72ed2221db1d8d7a097ea69b65449c062",
      "tree": "2d367e4b1342606c5a1853dc45dd119ec0bde7c0",
      "parents": [
        "387ec81521dfccf6a384ffdab68f12af15298e72"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Sep 14 10:22:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 10:28:59 2026"
      },
      "message": "[libc++] Move _LIBCPP_HAS_COND_CLOCKWAIT into condition_variable.h (#222904)\n\n`_LIBCPP_HAS_COND_CLOCKWAIT` is only used inside\n`\u003c__condition_variable/condition_variable.h\u003e`, so we might as well move\nit there.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1a31493a5cc8c05db3473ffa35f6c1d1289fcd22\n"
    },
    {
      "commit": "387ec81521dfccf6a384ffdab68f12af15298e72",
      "tree": "8b329b96536c509898e616d92b546b7b33895b9a",
      "parents": [
        "81739481aa9e62d8f71d10129c90eef9442f07b3"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Sep 14 10:21:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 10:28:12 2026"
      },
      "message": "[libc++] Optimize string copy construction (#222021)\n\nWe know that the string size provided to `__init_copy_ctor_external` is\nless than or equal to `max_size()`, so we don\u0027t need to do that check\nagain. Removing that check allows the compiler to ShrinkWrap the small\nsize path and also removes some unnecessary work in the allocating path.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d873afedebd0726700ba7f42a5d6e54dba288557\n"
    },
    {
      "commit": "81739481aa9e62d8f71d10129c90eef9442f07b3",
      "tree": "823b441a57e103df83c02b16b71160949272cfa7",
      "parents": [
        "3f2a6ad2727f2fdaf314cfee149c04f630731407"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Sep 14 10:18:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 10:22:08 2026"
      },
      "message": "[libc++][NFC] Remove some unused functions from to_chars_integral.h (#223130)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c4c4bbaf14303d3e5399487c16ec6a0ff4754386\n"
    },
    {
      "commit": "3f2a6ad2727f2fdaf314cfee149c04f630731407",
      "tree": "f474aa2af48e56bb40cab0e5186004ab6beb632a",
      "parents": [
        "9003263137e357801b518092824ca565ffd7e43c"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Sep 14 09:59:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 10:07:17 2026"
      },
      "message": "[libc++] Provide aligned allocation function iff the compiler claims support (#219199)\n\nThere isn\u0027t much of a point to providing declarations for aligned\nallocation functions but not allowing the compiler to use them. So\neither aligned allocations should be allowed to be used via\n`-faligned-allocation` or not provided at all.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e8d2def7e7ed18f22a493b72435468225c1047ba\n"
    },
    {
      "commit": "9003263137e357801b518092824ca565ffd7e43c",
      "tree": "3ce064ad7efa5168ae9bfb144968901449e6cf61",
      "parents": [
        "d99e4910724d10cb006066fe96ec07fa41baa591"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Sat Sep 12 08:08:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Sep 12 08:12:59 2026"
      },
      "message": "[libc++] Test LWG4113: Disallow `has_unique_object_representations\u003cIncomplete[]\u003e` (#169446)\n\nWe have been rejecting `has_unique_object_representations\u003cIncomplete[]\u003e`\nsince LLVM 6.\n\nSome related change landed in Clang 19 due to\n6451806ef73bb033be3f6e1599f3bcb224943206, and then a follow-up change\nae9990ed965118e7274a52399b43e3b9fb419a54 simplified error messages.\n\nTest coverage for incomplete enumeration types is skipped for Clang-cl\nmode, because an incomplete enumeration type is incorrectly considered\nto be complete. See https://llvm.org/PR169472.\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1f13035dd3bec940226402c59bbb086ab703caeb\n"
    },
    {
      "commit": "d99e4910724d10cb006066fe96ec07fa41baa591",
      "tree": "f231a8e00d74cbd70abcf1625a55be3c952e2e2f",
      "parents": [
        "7a8c854a85a2b6a0dba67a7c2b6f38c7ccde9b3c"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Fri Sep 11 10:03:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 11 10:08:56 2026"
      },
      "message": "[libc++][test] Remove non-functional `constexpr` in three-way comparison test for `variant` (#222837)\n\nWhen we are just testing SFINAE and do not provide definitions for these\ncomparison operators, or make them deleted, it is unhelpful to mark them\n`constexpr`.\n\nIf the implementation uses `std::compare_three_way`, which uses deduced\nreturn type in its `operator()`, in the `operator\u003c\u003d\u003e` for `variant`,\nmore things in the function body would be instantiated and detected. As\na result, the `-Wundefined-inline` warning or something similar could be\nraised. Currently, MSVC STL is doing so.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 41c11fa5c016886d5858a1aba03a5980688ad5a1\n"
    },
    {
      "commit": "7a8c854a85a2b6a0dba67a7c2b6f38c7ccde9b3c",
      "tree": "71a58c20519aca7d4b0824206d71a56e2933138e",
      "parents": [
        "ce87a2484a76b78bddb88a7de3956126853c2a94"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Sep 11 09:43:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 11 09:47:00 2026"
      },
      "message": "[libc++][NFC] Simplify __to_gcc_order by avoiding constexprness (#220940)\n\nWe never make use of the fact that these functions are `constexpr`, so\nwe might as well avoid complicating them for it. Even if we need them to\nbe `constexpr` at some point, we likely won\u0027t require them to be\n`constexpr` in C++11, which is the only language mode with the single\nstatement restriction that caused this to be more complicated.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3aeaa598286a3271cf02107b751d8e1b0a629d6f\n"
    },
    {
      "commit": "ce87a2484a76b78bddb88a7de3956126853c2a94",
      "tree": "a3ed4ee8689234da0d8e9a22ee73930ea8643883",
      "parents": [
        "d829ac07527284a3bf84cf9d3e869b35f8737baa"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Sep 11 09:25:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 11 09:32:18 2026"
      },
      "message": "[libc++] Make _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE part of the locale base API (#219196)\n\nWhether libc++ has to provide a rune table is really part of the\nlocalization of a platform. Move it there instead of `\u003c__config\u003e`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c45192cefe1cd3bf167d975f0f9949ba323845de\n"
    },
    {
      "commit": "d829ac07527284a3bf84cf9d3e869b35f8737baa",
      "tree": "3390417065050f8817ef4ed156de064df94e136a",
      "parents": [
        "03dcad12c95b6d67a352b4d9950b9d63acbccf64"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Sep 11 00:43:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 11 00:48:13 2026"
      },
      "message": "Revert \"[libc++] Remove __libcpp_allocate\" (#222814)\n\nReverts llvm/llvm-project#220981\n\nThis is breaking premerge. See comments on the original PR.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f896082fb9ea598c548bcb63515da7b23ff40f6d\n"
    },
    {
      "commit": "03dcad12c95b6d67a352b4d9950b9d63acbccf64",
      "tree": "5e637145cd33ea3442c48b23aa74d79718f0b57b",
      "parents": [
        "bd1e3d751a0c1ae550148c08b02b6ecaf8856134"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 10 16:40:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 16:48:07 2026"
      },
      "message": "[libc++] Remove __libcpp_allocate (#220981)\n\nWe use `__libcpp_allocate` and friends 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`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5b757b81db35e7611f0d5f242a2bd53f3894c084\n"
    },
    {
      "commit": "bd1e3d751a0c1ae550148c08b02b6ecaf8856134",
      "tree": "3390417065050f8817ef4ed156de064df94e136a",
      "parents": [
        "2b34db187e2d4b3d63d9137c92d14ac0ccac3b23"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 10 13:40:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 13:50:47 2026"
      },
      "message": "[libc++] Add [[gnu::warn_unused]] to a bunch of threading utilities (#213963)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a774efbad6f74d695e37841c72b2a0175e4724e9\n"
    },
    {
      "commit": "2b34db187e2d4b3d63d9137c92d14ac0ccac3b23",
      "tree": "5539326613ac36f287b0963b0d62edaffb29243f",
      "parents": [
        "85d221fe55a9b1d339df8e05ecdf53cd86745b14"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 10 12:57:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 13:03:09 2026"
      },
      "message": "[libc++] Simplify the implementation of std::declval (#222303)\n\nThe implementation of `std::declval` calling `__declval` was originally\nintroduced for improved compile times. However, we now have a builtin\nfor `add_rvalue_reference`, which makes the old implementation faster\nagain, since we avoid instantiating any class types _and_ avoid overload\nresolution.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c69a5ebf6b961d1296cb42a104008df40cf3bc36\n"
    },
    {
      "commit": "85d221fe55a9b1d339df8e05ecdf53cd86745b14",
      "tree": "8a3dfca4b94a6bd73bf43f280f6bb0b4558b5f82",
      "parents": [
        "073703413f4a282e84fdc39d6072b091b5f7c1b1"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Thu Sep 10 08:03:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 08:07:25 2026"
      },
      "message": "[libc++][pstl] Implementation of parallel std::minmax_element() based on parallel reduce (#221572)\n\nThis PR adds an implementation of parallel `std::minmax_element()` based\non parallel reduce.\n\nThe implementation formulates `minmax_element` as a reduction of\niterators over the input range.\nThe iterators are first transformed into a min-max iterator pair.\nThe reduction is provided in two forms: 2-element reduction that makes\nan iterator pair pointing to a smaller and a greater value, and a\nrange-based reduction with init value.\nThe latter delegates the heavy-lifting to the serial implementation of\n`std::minmax_element()`.\n\nPart of #99938.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 672843a3f2ee2aaaed0463ec9064b6ccea2a5d4d\n"
    },
    {
      "commit": "073703413f4a282e84fdc39d6072b091b5f7c1b1",
      "tree": "cbd2dab72ac7d28d7c129e2949e12a9b35d72d22",
      "parents": [
        "12b6f046af39b85124df0a35357ca231f2aaedbf"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Wed Sep 09 17:25:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 17:34:17 2026"
      },
      "message": "[libc++] Remove `_LIBCPP_EXPLICIT_SINCE_CXX14` (#222221)\n\nThe existence of `_LIBCPP_EXPLICIT_SINCE_CXX14` is a relic of the\nquestionable status quo of LWG2176 - we only implement its resolution\nsince C++14 mode (7988106b21628afe7004b57ae66ec9b43cbc8942). In\na11f8b1ad66d68ca0a3a277ce776007abff9c7eb\n(https://reviews.llvm.org/D91292), we implemented P0935R0 as a Defect\nReport against C++11, and P0935R0 somehow superseded LWG2176. So it is a\nbit unreasonable to leave LWG2176 not backported.\n\nThis patch backports the remaining parts of LWG2176 to old modes. As the\ncopy constructor of `wbuffer_convert` and `wstring_convert` are deleted,\nimplicit conversions to them cannot be performed in C++03 even if the\nrelated converting constructors lack `explicit`.\n\nAs drive-by, also drops `// C++20` comments on these constructors due to\nP0935R0 and `// C++14` comments due to LWG2176.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9a9f50ed485aaf42a204a2aa0eae1d46f4aba8e0\n"
    },
    {
      "commit": "12b6f046af39b85124df0a35357ca231f2aaedbf",
      "tree": "ffb1ef276096a3059155f3d7dc0ef6020ba2371a",
      "parents": [
        "3604eb0cd834df775465c6f10669c05092d68218"
      ],
      "author": {
        "name": "Michał Górny",
        "email": "mgorny@gentoo.org",
        "time": "Wed Sep 09 16:50:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 16:57:20 2026"
      },
      "message": "[libc++] Disable SSP in `clear_padding.pass.cpp` (#218130)\n\nCompile `clear_padding.pass.cpp` test `-fno-stack-protector` to fix\ncrash due to the generated code overflowing the buffer. This is most\nlikely a bug in clang.\n\nBug #212002\nFixes a test regression introduced in #76180\n\nCC @huixie90\n\n---------\n\nSigned-off-by: Michał Górny \u003cmgorny@gentoo.org\u003e\nCo-authored-by: Nikolas Klauser \u003cnikolasklauser@berlin.de\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6f7ca253fc3674856afe665eda40f9856a69e804\n"
    },
    {
      "commit": "3604eb0cd834df775465c6f10669c05092d68218",
      "tree": "213e152c2ebd68b32374268964c134612f08f8e9",
      "parents": [
        "615674d7b27b99ef081f43bb2bac548cd8e82ed2"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Wed Sep 09 16:44:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 16:47:05 2026"
      },
      "message": "[libc++][pstl] Implementation of parallel std::is_heap() based on std::is_heap_until() (#221556)\n\nThis PR adds a \"one-liner\" implementation of a parallel `std::is_heap()`\nbased on `std::is_heap_until()`.\n\nThe implementation is effectively a call to `std::is_heap_until()` and a\ncomparison with the last iterator:\n```c++\nauto res \u003d IsHeapUntil()(policy, first, last, comp);\nif (!res) {\n    return nullopt;\n}\nreturn *res \u003d\u003d last;\n```\n\nPart of #99938.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8104261f2c74b41d63d9e043fe3631e20af54609\n"
    },
    {
      "commit": "615674d7b27b99ef081f43bb2bac548cd8e82ed2",
      "tree": "56f394c7f25523ecbd542bcf0a4542943a1f4e9f",
      "parents": [
        "7c9b5ae801e4759190782b7712fe802a130d79db"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "george.burgess.iv@gmail.com",
        "time": "Wed Sep 09 13:19:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 13:27:22 2026"
      },
      "message": "[libc++] Opt `std::*set` out of map key extraction optimization (#220452)\n\nPR #154512 (relanded by #155565) removed `__can_extract_map_key`, which\nhad a blanket opt-out for `std::*set`s. The new logic does not have that\nopt-out, leading to `std::set`s being incorrectly constructed.\n\nThe new regression tests demonstrate this, but essentially the idea is:\n1. Have `std::set\u003cT\u003e foo;`\n2. Call `foo.emplace(some_t,\narg_that_influences_comparisons_or_hashes);`\n3. The emplace will internally search using `some_t` as the key, *not*\n`T(some_t, arg_that_influences_comparisons_or_hashes);`\n\nThis opts out `std::*set` from this optimization to match previous\nbehavior.\n\nTests and fix were produced by an LLM. I reviewed them and they seem\nreasonable to me, though I don\u0027t have a strong background in libc++\ntesting conventions.\n\n(Credit to Deva S, our partner who tracked this down. Unfortunately I\ndon\u0027t know his GH handle)\n\nFixes #220451\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 10d4bdf93a82fb290b8c55da6ed19ff54da67296\n"
    },
    {
      "commit": "7c9b5ae801e4759190782b7712fe802a130d79db",
      "tree": "f8cc22ddd72714d68885bfbcd8e3001fbef42a1a",
      "parents": [
        "5eb498be9fbeb98719114168ce781ba09f67bae4"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Wed Sep 09 12:54:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 12:59:10 2026"
      },
      "message": "[libc++] Backport resolution of LWG2187 to C++11 (#222006)\n\nlibc++ has LWG2187 implemented in\n2d6e2834a8abcce862ef17c44f62e4de41662748 but only since C++14 mode.\nUsually, resolution of an LWG issue should be treated as a Defect Report\nand applied to old modes. In the case of LWG2187, the resolution should\nbe applied to C++11.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e5d8a1573950731a7e8c2163e4b9946d0556768f\n"
    },
    {
      "commit": "5eb498be9fbeb98719114168ce781ba09f67bae4",
      "tree": "5c142c75a5c2af767dc980a067e662f1f29c3527",
      "parents": [
        "029402917c5722b6627c04aad98f3a047db13b27"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Wed Sep 09 10:43:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 10:47:30 2026"
      },
      "message": "[libc++] Fix `optional\u003cT\u003e::transform` into `optional\u003cT\u0026\u003e` (#221506)\n\nResolves #220332\n\n- Make `optional\u003cT\u003e` a friend of `optional\u003cT\u0026\u003e`, and add tests.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 48ae4d3b158042b4ad77a6b23aa412aedac7105a\n"
    },
    {
      "commit": "029402917c5722b6627c04aad98f3a047db13b27",
      "tree": "b7a3dee72e50a87a3b74f57432c91cbc4d34fd9e",
      "parents": [
        "d4d3e4453919df8adc718e5bc767885ee5c9ba55"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@arm.com",
        "time": "Wed Sep 09 07:27:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 07:31:52 2026"
      },
      "message": "[libcxx][libcxxabi][cmake] Deduplicate sanitizer flags function (#221757)\n\nWhile experimenting with flang-rt builds I realised there were two\ncopies of this function.\nWe don\u0027t need it in flang-rt right now but I figure reducing duplication\nis good anyway.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6dc6c67b786260486641eb62546c34b48143e131\n"
    },
    {
      "commit": "d4d3e4453919df8adc718e5bc767885ee5c9ba55",
      "tree": "d8afe87e960b095cc72f27a29480a533f4cf83da",
      "parents": [
        "dacb70a1b044b850d7e2fe50a83c20339d850a65"
      ],
      "author": {
        "name": "Vishank Singh",
        "email": "vishanksinghh@gmail.com",
        "time": "Wed Sep 09 06:29:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 06:33:04 2026"
      },
      "message": "[libc++][ranges] Implement LWG4013: Make `lazy_split_view::outer-iterator::value_type` non-default-constructible (#221919)\n\nRemove the default constructor of `outer-iterator::value_type` and make\nthe remaining constructor private (exposition-only), as required by LWG\n4013.\n\nUpdate the corresponding tests:\n- `ctor.default.pass.cpp` and `ctor.iter.pass.cpp` are now deleted.\n- `ctor.compile.pass.cpp` is added to verify `value_type` is not\ndefault-constructible and its construction from iterator is not\navailable.\n- Cases testing construction of `value_type` via `operator*` are moved\nto `range.lazy.split.outer/deref.pass.cpp‎`.\n\nCloses #105321\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e3a60a700dfa488adebd546705424aae7c8b3a35\n"
    },
    {
      "commit": "dacb70a1b044b850d7e2fe50a83c20339d850a65",
      "tree": "73d67f10dbfae056a1c532d4e95fa14020b63161",
      "parents": [
        "987e3dacd212f38b5f03e3b63f7e4253a06faaee"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Tue Sep 08 23:18:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 23:25:32 2026"
      },
      "message": "[libc++][NFC] Remove `optional::__get` (#217218)\n\nInternal communicating functions `optional::__get` can be superseded by\neither `value`, `operator*()`, or direct use of data member. Even though\n`value()` is checked, checks are already performed before internal calls\nto it, so compilers should be able to remove duplicated checks.\n\nIt is intended to use `opt.value()` instead of `*opt` to avoid undesired\nargument-dependent lookup.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1462d6f99a0cdf8c99108cb32eb020efe6ba5f89\n"
    },
    {
      "commit": "987e3dacd212f38b5f03e3b63f7e4253a06faaee",
      "tree": "c5947489d9affbfdbb182411afaef1a310d00058",
      "parents": [
        "388d3fc2d3bfca888371d53f0aed5197b495ca73"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Sep 08 15:10:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 15:18:57 2026"
      },
      "message": "[libc++] Fix make_from_tuple for reference types (#220966)\n\n#215067 refactored `make_from_tuple`, which introduced a regression when\ntrying to construct reference types with it.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d3960386544aa370053b110610c8e7f30c850c0e\n"
    },
    {
      "commit": "388d3fc2d3bfca888371d53f0aed5197b495ca73",
      "tree": "a8bc5e097ee8b5608ae19a4e067db999409a8ef1",
      "parents": [
        "303f90dd68ecb991ec1859dd062e21d66807b8f4"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Tue Sep 08 05:32:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 05:36:39 2026"
      },
      "message": "[libc++][test] Test SFINAE for `optional`\u0027s operators in C++17 (#221643)\n\nWe have been intentionally constraining `optional`\u0027s comparison\noperators since C++17, so it is probably better to test the constraints\nin C++17 mode. Given the constraints are standardized only since C++26\n(via P2944R3), `LIBCPP_STATIC_ASSERT` is used in old modes.\n\nIn order to do this, `test_comparisons.h` is reworked to expose\n`NonComparable` and `EqualityComparable` in pre-C++20 modes, and a new\ntype `TotallyOrdered` is invented as a replacement of\n`ThreeWayComparable` in old modes.\n\nAs drive-by, also switches to use `// REQUIRES: std-at-least-c++17` in\ntouched test files, and adds previously missed includes of\n`\u003ctype_traits\u003e`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d34720a9ca4492dbb65af8b652e60dbb5f60ca55\n"
    },
    {
      "commit": "303f90dd68ecb991ec1859dd062e21d66807b8f4",
      "tree": "62e72d6c78238ce7de1ca65dfe64552392ef40d9",
      "parents": [
        "87112c4f2f133af8fb09506aead4eb716246d058"
      ],
      "author": {
        "name": "jiang1997",
        "email": "jieke@live.cn",
        "time": "Tue Sep 08 02:18:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 02:23:38 2026"
      },
      "message": "[libc++][ranges] Implement LWG 3599 (#221573)\n\nImplement [LWG 3599](https://wg21.link/LWG3599) by requiring\n`forward_range\u003cconst Pattern\u003e` for the `const` overloads of\n`lazy_split_view::begin` and `end`.\n\nThis adds tests for disabled `begin()` and fallback `end()` on\nnon-const-forward patterns, as well as a regression test for\n`view_interface::front()`.\n\nCloses #189808\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 80793a65f0c8cab368358d2ce3e3d92bc7a63fb8\n"
    },
    {
      "commit": "87112c4f2f133af8fb09506aead4eb716246d058",
      "tree": "414546d5e75d6a5f602c7bce0c208f0368292689",
      "parents": [
        "8c8ff7267172d56bbae7a75a145b99145cec1ceb"
      ],
      "author": {
        "name": "Dan Shan",
        "email": "3shandan@gmail.com",
        "time": "Mon Sep 07 03:34:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 07 03:43:10 2026"
      },
      "message": "[libc++] Implement LWG4072: std::optional comparisons: constrain harder (#209968)\n\nResolves #118345.\n\nPreviously, the heterogeneous comparison operators (`\u003d\u003d`, `!\u003d`, `\u003c`,\n`\u003c\u003d`, `\u003e`, `\u003e\u003d`) for arguments `T` and `U` don\u0027t check that `T` or `U`\nare not a `std::optional` themselves. This allowed the operators to\ncause ambiguous overload resolution instead of falling back to\n`optional`\u0027s own operators, which possibly caused hard error when there\nshould not be a matched overload.\n\nThis patch implements the resolution by adding\n`!__is_std_optional_v\u003c_Up\u003e` (and the `_Tp` equivalent for the reversed)\nto the constraints in all twelve involved operators.\n\nAs required by the LLVM Project\u0027s AI use policy:\n- The fix and test processes were revised and verified with AI\nassistance.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 98baf03a3ca629fa2d690286fb751a05c9fd6965\n"
    },
    {
      "commit": "8c8ff7267172d56bbae7a75a145b99145cec1ceb",
      "tree": "11ac23e49432397f884ea8dbfe75017b434dd0a4",
      "parents": [
        "3cdea1d734106ad113046c87cf9aa6175eee0c14"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Sat Sep 05 14:25:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Sep 05 14:31:45 2026"
      },
      "message": "[libc++][NFC] Avoid empty namespace in `\u003c__concepts/common_with.h\u003e` (#221407)\n\n...in pre-C++20 modes. This fixes complaining from clang-tidy checks in\nCI.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0c94a978df783bd67535350eac84088fc482716a\n"
    },
    {
      "commit": "3cdea1d734106ad113046c87cf9aa6175eee0c14",
      "tree": "b7fa858b171d277d0e00ae966361cae5cb7217ca",
      "parents": [
        "b693b6fc2d6d2e71d2f7b10837b0f10b30dca56e"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Sep 04 14:51:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 04 14:59:51 2026"
      },
      "message": "[libc++][pstl] Implementation of parallel std::min_element() based on parallel reduce (#219876)\n\nThis PR adds an implementation of parallel `std::min_element()` based on\nparallel reduce.\n`std::max_element()` is also added, implemented as a \"one-liner\" over\n`min_element`.\n\nThe implementation formulates `min_element` as a reduction of iterators\nover the input range.\nThe reduction is provided in two forms: 2-element reduction that picks\nthe iterator pointing to a smaller value, and a range-based reduction\nwith init value. The latter delegates the heavy-lifting to the serial\nimplementation of `std::min_element()`.\n\nPart of #99938.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9853cb54d9d2684b27f0d0db89c00c2da7e31b88\n"
    },
    {
      "commit": "b693b6fc2d6d2e71d2f7b10837b0f10b30dca56e",
      "tree": "0ba3ba64ee5ebc306448a475d9be11cac75e16e9",
      "parents": [
        "62f6816055e6ff23405a32ed71fd23e2bc5fb29d"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Sep 04 11:15:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 04 11:23:43 2026"
      },
      "message": "[libc++] Assert that the alignment for memory_resource::allocate is a power of two (#219174)\n\n`do_allocate` has a precondition that the argument is a power of two. We\ncan\u0027t assert that in general, since users can provide their own\n`do_allocate`s. However, we can assert in `allocate` instead, which has\nthe added bonus that it\u0027s going to be inlined and the check can then\nmost likely be folded away by the compiler.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e65fd7755ae3d60168b603c405d08381a2637d2f\n"
    },
    {
      "commit": "62f6816055e6ff23405a32ed71fd23e2bc5fb29d",
      "tree": "77b22fe61e4e50e511ea60b15c23dd5de4646de2",
      "parents": [
        "4ab5bf444975216007b7820bce2585949d830fc3"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Sep 04 11:11:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 04 11:19:51 2026"
      },
      "message": "[libc++] Avoid including \u003cstring_view\u003e in \u003cvector\u003e (#220862)\n\nBy splitting up `\u003c__format/concepts.h\u003e` we can avoid including\n`\u003cstring_view\u003e` in `\u003cvector\u003e`, making it ~20% faster to parse.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4746e698304bf95b7e4c55d6e798e422732ae514\n"
    },
    {
      "commit": "4ab5bf444975216007b7820bce2585949d830fc3",
      "tree": "ff4e827be89894a8ad4168df885b5720669d9712",
      "parents": [
        "d6f02ee37455c74136cf43e1eabc232ee1fe5554"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Fri Sep 04 05:30:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 04 05:39:26 2026"
      },
      "message": "[libc++][pstl] Implementation of parallel std::is_heap_until() based on __parallel_find() (#218603)\n\nThis PR adds an implementation of a parallel `std::is_heap_until()`\nbased on `__parallel_find()`.\n\nThe implementation chops the input range `[first+1, last)` into\npartitions and processes them in parallel.\nFor each partition, it derives the first and the last parents of these\nchildren, and iterates over the parents checking their children for heap\nviolations.\nBasically, it\u0027s very close to the implementation of the serial version,\nbut with a different prologue and epilogue.\n\nPart of #99938.\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 89ebea3545acc3c30b4fb90c1f3ed7f0f6feeddb\n"
    },
    {
      "commit": "d6f02ee37455c74136cf43e1eabc232ee1fe5554",
      "tree": "485ec0954fe68fa0f9c6f1568a2d3ab3d69cc7cf",
      "parents": [
        "5e4190215e45e7f3862ab15eb5f75ebfc6a27481"
      ],
      "author": {
        "name": "Michael G. Kazakov",
        "email": "mike.kazakov@gmail.com",
        "time": "Thu Sep 03 18:42:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 18:47:03 2026"
      },
      "message": "[libc++][pstl] Implementation of parallel std::find_end() based on __parallel_find() (#218321)\n\nThis PR implements a parallel version of `std::find_end()` based on\n`__parallel_find()`.\n\nThe algorithm crops the input range to a range where a potential match\ncan start and runs a chunked parallel find on the cropped range.\nInside each chunk potential matches are looked for using the serial\n`std::find_end()` and the last one found is returned.\nSince it\u0027s based on `__parallel_find()`, the algorithm supports early\ntermination.\n\nPart of #99938.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e6734a41bb41d91cb880fe7abce46d8146182518\n"
    },
    {
      "commit": "5e4190215e45e7f3862ab15eb5f75ebfc6a27481",
      "tree": "0819d68d2507fa33f8cabe23f0aa764948443cbd",
      "parents": [
        "df8bd8ad182f417c4fd2ef104a83acc44fc19834"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Thu Sep 03 16:58:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 17:09:47 2026"
      },
      "message": "[libc++] Apply `[[nodiscard]]` to `get_new_handler` (#220847)\n\n`[[nodiscard]]` should be applied to functions where discarding the\nreturn value is most likely a correctness issue.\n\n- https://libcxx.llvm.org/CodingGuidelines.html\n- https://wg21.link/get.new.handler\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 97dc989bb446ba476f71dd4cc36641c3ed186bce\n"
    },
    {
      "commit": "df8bd8ad182f417c4fd2ef104a83acc44fc19834",
      "tree": "753dfc4cb88f35f4a73fd7fcaa14813285edfa8e",
      "parents": [
        "40b132e1ccccaf6733cc6e3b7c3ce3e32260a8d8"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 03 15:27:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 15:36:04 2026"
      },
      "message": "[libc++] Add a test for the ABI of std::locale::id (#220857)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8459fed60e363aa3a01514975038773652a5fbac\n"
    },
    {
      "commit": "40b132e1ccccaf6733cc6e3b7c3ce3e32260a8d8",
      "tree": "3c236d31a2cec567c35edcfab84843ca1e899a2d",
      "parents": [
        "3eb18779119c1f672c24ef2eef5ff7b4f02c1dcf"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 03 15:18:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 15:21:46 2026"
      },
      "message": "[libc++] Optimize vector::emplace_back (#218658)\n\nThis avoids using a lot of stack memory for `emplace_back` by making the\noutlined lambda `static`. This also reduces the number of instructions\nto execute a simple `emplace_back`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: aafc318570430eed73891cb84364031c256fe1ac\n"
    },
    {
      "commit": "3eb18779119c1f672c24ef2eef5ff7b4f02c1dcf",
      "tree": "90952c79c1882d3d2d28f30585df16e3aad74b58",
      "parents": [
        "ffe9fac0b6781a835dab1d7746ac7c6bdafc9c4c"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 03 10:16:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 10:21:57 2026"
      },
      "message": "[libc++] Replace __uninitialized_allocator_copy with __uninitialized_allocator_copy_n (#219445)\n\nWe can simplify our code by using an iterator/size version instead of\nthe iterator pair.\n\nThis was originally part of #214132. However, that patch has a difficult\nto track down performance issue. I\u0027m splitting it up to make the search\neasier.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b62be688263a661b50628f1c820eabf956b13de3\n"
    },
    {
      "commit": "ffe9fac0b6781a835dab1d7746ac7c6bdafc9c4c",
      "tree": "dabcc5b41a3b2d9c18eeb04e5d988c74e1f5e43a",
      "parents": [
        "26f8818c5616436c9cbeb47828e49ed1c258e15e"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Sep 03 09:35:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 09:48:42 2026"
      },
      "message": "[libc++] Fix std::pmr::new_delete_resource() returning underaligned pointers (#219166)\n\nWe\u0027re currently using `__libcpp_allocate` inside\n`std::pmr::new_delete_resource`. `__libcpp_allocate` calls `operator\nnew` without an alignment argument if the alignment is small enough.\nThis, however, violates the requirement that `new_delete_resource` needs\nto return a pointer with an alignment greater or equal to the alignment\nargument, since `operator new` without an alignment argument only has to\nreturn \"suitably aligned storage\", which basically assumes that `size \u003e\u003d\nalignment`. To fix that we can simply call the aligned operator new\nunconditionally.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4006059d2d07add782dbe8575afacb075601749a\n"
    },
    {
      "commit": "26f8818c5616436c9cbeb47828e49ed1c258e15e",
      "tree": "2707e4417a6ab76716060f3de901bd057361bb4c",
      "parents": [
        "53271c755706492402dd32f27aa70dd698f2570e"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Wed Sep 02 15:33:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 15:37:14 2026"
      },
      "message": "[libc++][ranges] Implement P3052R2: `view_interface::at()` (#205012)\n\nCloses #204395\n\nImplements https://wg21.link/P3052R2\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 308892ffc7f2aa1af580b6726297e3d516525488\n"
    },
    {
      "commit": "53271c755706492402dd32f27aa70dd698f2570e",
      "tree": "f7d0abf5a57cd83542649b963da1a4cb24b7abdc",
      "parents": [
        "0f47890daa58e435e03ba3d55ef9aeb8f3d0757b"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Sep 02 14:22:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 14:27:04 2026"
      },
      "message": "[libc++] Simplify allocator propagation in vector assignments (#217635)\n\nWe can just use `if constexpr` instead of dispatching based on type\ntraits. This will cause some more code generation in C++03, but I don\u0027t\nthink we should care at this point.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7a1f6ad89e574d638e4618f41f243c63da76ce7b\n"
    },
    {
      "commit": "0f47890daa58e435e03ba3d55ef9aeb8f3d0757b",
      "tree": "877d92f96fd4c5c53a3c8a47d187311f5ca24e2b",
      "parents": [
        "9dbd0ba40cecc002a778aa0acbec303824343bbb"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Sep 02 14:12:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 14:18:48 2026"
      },
      "message": "[libc++] Add a test for the ABI of std::once_flag (#218924)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 492bf8e7fb9e3fc5fd8fd899d96bc91d7e3a657e\n"
    },
    {
      "commit": "9dbd0ba40cecc002a778aa0acbec303824343bbb",
      "tree": "55bb50ce27f39ad48be6a67dc8eb14a239601a98",
      "parents": [
        "8678eea6acbe536854b4635b901b8bf39a181bb5"
      ],
      "author": {
        "name": "Sharjeel Khan",
        "email": "sharjeelkhan@google.com",
        "time": "Tue Sep 01 19:44:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 19:47:52 2026"
      },
      "message": "[libc++] Add _LIBCPP_NO_SANITIZE for std::__assume_aligned (#220296)\n\nstd::assume_aligned takes void* from __builtin_assume_aligned and\nconverts it _Tp* that causes cfi-unrelated-cast to consider it a\ndowncast leading to CFI checks. Since std::find_if calls\nstd::assume_aligned on __last, it will lead to a CFI check that\ndereferences __last causing a failure. Based on discussion, we can just\nadd _LIBCPP_NO_SANITIZE for cfi-unrelated-cast because the check rejects\nwell-defined behavior.\n\nFix: https://github.com/llvm/llvm-project/issues/219306\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5f3e8f36d69f7758eb3df00cc51a9f047726723e\n"
    },
    {
      "commit": "8678eea6acbe536854b4635b901b8bf39a181bb5",
      "tree": "f5b09f3531b79b468291f0e112d768d907b9ad67",
      "parents": [
        "a23e49012017aec3b1addce47f2cd98bbd02cdd6"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Tue Sep 01 16:46:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 16:53:08 2026"
      },
      "message": "libcxx: fixups for __BIONIC__ (#219591)\n\nA few header guards seem to check various libc\u0027s, but not Android\u0027s libc\n(Bionic).\n\nBionic supports:\n- arc4random\n- copy_file_range\n- getcwd() extension\n\nLink:\nhttps://android-review.git.corp.google.com/c/platform/bionic/+/41445\nLink:\nhttps://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/SYSCALLS.TXT\nLink:\nhttps://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/upstream-openbsd/lib/libc/crypt/arc4random.c\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b0829c5a09a9cc480718df21d90c454be5dddb88\n"
    },
    {
      "commit": "a23e49012017aec3b1addce47f2cd98bbd02cdd6",
      "tree": "6ae870036e66637dd712667fa06b44a6d9f43d51",
      "parents": [
        "107fa41c3baa7ff03273f915814c548939fb23e2"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Tue Sep 01 08:21:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 08:25:54 2026"
      },
      "message": "[libc++][docs][NFC] Remove Format and Parallelism TS status pages (#220021)\n\nRemoves the last meta-status pages in favor of GitHub meta-issues.\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 083b00bbe9c29baba0cf006b2be4352d00341b75\n"
    },
    {
      "commit": "107fa41c3baa7ff03273f915814c548939fb23e2",
      "tree": "b46922e1f477a12cc90b6c605282596db25c67f6",
      "parents": [
        "474aab2179eb6ace522d96001ef4b675985baacc"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Tue Sep 01 08:18:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 08:21:36 2026"
      },
      "message": "[libc++][ranges][enumerate_view] Update iterator `iter_move` test (#219474)\n\nCompletes the [range.enumerate.iterator] `iter_move` test by addressing\nthe review comment\nhttps://github.com/llvm/llvm-project/pull/73617#discussion_r1416642892\nfrom the original implementation.\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nCo-authored-by: Hristo Hristov \u003chghristov.rmm@gmail.com\u003e\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 084cb22437448bc53228f7f03dc20749dabe96a6\n"
    },
    {
      "commit": "474aab2179eb6ace522d96001ef4b675985baacc",
      "tree": "7fc375b32657481a4111a81d7f61953cf404dd6a",
      "parents": [
        "9234bc091a7c286c69b0eabe4c9ed2529af9eda6"
      ],
      "author": {
        "name": "Matthias Wippich",
        "email": "mfwippich@gmail.com",
        "time": "Tue Sep 01 05:51:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 05:58:27 2026"
      },
      "message": "[libc++] Implement P2830R10: Standardized Constexpr Type Ordering (#216616)\n\nThis patch implements the library side of `std::type_order` from\nP2830R10 including the changes from P3778R0, P4140R0 and LWG4305. Since\nclang\u0027s `__builtin_type_order`\u0027s semantics match GCC\u0027s, this does not\nneed special casing for GCC.\n\nResolves https://github.com/llvm/llvm-project/issues/148152\nResolves https://github.com/llvm/llvm-project/issues/171284\nResolves https://github.com/llvm/llvm-project/issues/189595\nResolves https://github.com/llvm/llvm-project/issues/171344\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 678058af7da6a20593d8bb23076dc4773f9e55f1\n"
    },
    {
      "commit": "9234bc091a7c286c69b0eabe4c9ed2529af9eda6",
      "tree": "38ec7abcff27cc457e60080c9e3aa9b5ec2a5d60",
      "parents": [
        "6b4ce908cf9bf414ab8f62d81fb299c71bc8a605"
      ],
      "author": {
        "name": "Sharjeel Khan",
        "email": "sharjeelkhan@google.com",
        "time": "Mon Aug 31 21:21:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 21:27:12 2026"
      },
      "message": "[libc++] Enable _LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION for Bionic (#218055)\n\nAs mentioned in the comment, pthread_mutex_destory is a nop for regular\nmutexes for Bionic, like glibc. We can enable\n_LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION for Bionic causing std::mutex to\nhave trivial destructors. This change prevents compilers from\nregistering exit-time destructors for global/static mutexes exit-time\ncrashes and silencing warnings under -Wexit-time-destructors.\n\nFixes: https://github.com/android/ndk/issues/1261\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4b71ac21e2a5934bcbfb3a4d5951ce4c94a57240\n"
    },
    {
      "commit": "6b4ce908cf9bf414ab8f62d81fb299c71bc8a605",
      "tree": "bd2797e22335f0bb10375008666bc97664d90ec9",
      "parents": [
        "179c36d177ea00a656c2d5d54889086efde8ab5b"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Aug 31 20:18:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 20:23:51 2026"
      },
      "message": "[libc++] Add missing noexcept on shared_ptr assignment (#219533)\n\nThe Standard declares it as noexcept in [util.smartptr.shared.assign].\nAlso add a couple of missing tests.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 696f97edad099825d539dad378594971606ee5c4\n"
    },
    {
      "commit": "179c36d177ea00a656c2d5d54889086efde8ab5b",
      "tree": "d2a2c944006f648dcfea4fa87787bf28a5424ed4",
      "parents": [
        "871ee3f62fa78ec980586a89606d2aec2bedb2a4"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Aug 31 19:23:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 19:30:57 2026"
      },
      "message": "[libc++] Make once_flag pointer-sized on MinGW (#219895)\n\nThis is ABI breaking on MinGW. However, the impact is deemed small\nenough that it\u0027s acceptable.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: dfca2d49b080c0f2d01b79de2ae94043cb2dca6e\n"
    },
    {
      "commit": "871ee3f62fa78ec980586a89606d2aec2bedb2a4",
      "tree": "94359fd7e3ccb0e87f4cd29a2bff44fa0141d927",
      "parents": [
        "b205c01f1245ba73c46f1f3c61e47a519d97c1af"
      ],
      "author": {
        "name": "Connector Switch",
        "email": "c8ef@outlook.com",
        "time": "Mon Aug 31 15:03:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 15:06:18 2026"
      },
      "message": "[libc++] fix incorrect definition of __indirectly_binary_right_foldable (#219957)\n\nFixes https://github.com/llvm/llvm-project/issues/219618.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 47405bae765c9ac34cd91636a31d5fb5212b49e3\n"
    },
    {
      "commit": "b205c01f1245ba73c46f1f3c61e47a519d97c1af",
      "tree": "b654793b07c45095b5e9755cdd2bed188ecac8cb",
      "parents": [
        "739fdfb7766acd1b2097d8593054e427f4a7cd5d"
      ],
      "author": {
        "name": "Arth Srivastava",
        "email": "arthsrivastava1@gmail.com",
        "time": "Mon Aug 31 07:20:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 07:27:22 2026"
      },
      "message": "[libc++] Remove NaCl support from __cxx03 headers (#219787)\n\nCompletes the NaCl cleanup started in #148983 by removing the remaining\nreferences from the frozen `__cxx03/` headers.\n\nChanges:\n\n* Remove the `_LIBCPP_USING_NACL_RANDOM` comment block and\n`#elif defined(__native_client__)` branch from\n`include/__cxx03/__config`\n* Remove `defined(__pnacl__)` from the `#if` condition in\n  `include/__cxx03/limits`\n\nThe `_LIBCPP_USING_NACL_RANDOM` macro was defined but never consumed;\nits\nprevious consumer in `src/random.cpp` was already removed in #148983.\n\nFixes #219588\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 989f9333f9ce9ee0285a5fb9c57fa5aecb75b4ed\n"
    },
    {
      "commit": "739fdfb7766acd1b2097d8593054e427f4a7cd5d",
      "tree": "9f919a7c765d46d08353e120c0946fd68607c05b",
      "parents": [
        "f7e2e3dcc160655180b14e1912b957f99711252d"
      ],
      "author": {
        "name": "Corentin Kerisit",
        "email": "corentin.kerisit@gmail.com",
        "time": "Mon Aug 31 03:18:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 03:23:02 2026"
      },
      "message": "[libc++] Do not define std::nothrow with VCRuntime ABI (#217694)\n\nAvoid defining `std::nothrow` in libc++ when `_LIBCPP_ABI_VCRUNTIME` is\nenabled.\n\nVCRuntime already owns and provides `std::nothrow`, just as it owns the\nglobal new/delete ABI.\n\nAssisted-by: codex (for the test)\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d291bcd466edac6b0e21b6f6437462d763e337de\n"
    },
    {
      "commit": "f7e2e3dcc160655180b14e1912b957f99711252d",
      "tree": "fb61171a7b4f734e192b4e8a75c24483d7f8d83c",
      "parents": [
        "d2159d73b26cfb0fa09808ea7c7ed3426c7eadcf"
      ],
      "author": {
        "name": "Alex Kremer",
        "email": "akremer@ripple.com",
        "time": "Sat Aug 29 11:32:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 29 11:37:31 2026"
      },
      "message": "[libc++] Implement P3798R1: The unexpected in `std::expected` (#219236)\n\nCloses https://github.com/llvm/llvm-project/issues/204394\nRe-application of https://github.com/llvm/llvm-project/pull/204826\n(45a65bb48b5925707f43d08e30df2263a5e4e268)\n\nImplements P3798R1 and related tests.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 823efd84c5be6eb3b5585caea3b80b9403a1ce1b\n"
    },
    {
      "commit": "d2159d73b26cfb0fa09808ea7c7ed3426c7eadcf",
      "tree": "a7b2ee6df7169b8be011c54c03719c3bc3ae9e4b",
      "parents": [
        "f6ad9aedb8b06fad22dcd0f04abd425e754cff0c"
      ],
      "author": {
        "name": "higher-performance",
        "email": "higher.performance.github@gmail.com",
        "time": "Fri Aug 28 13:58:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 14:02:29 2026"
      },
      "message": "Speed up pre-C++20 operator\u003c(std::tuple, std::tuple) (#214646)\n\nReduces the compile time of `operator\u003c` for tuples, as `std::get` appears slow to compile.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6eeabb90edaf78dc87aab3caf71eb8facf2b813e\n"
    },
    {
      "commit": "f6ad9aedb8b06fad22dcd0f04abd425e754cff0c",
      "tree": "86f957be7ff2da45e9c8d78c2272f26a876afcf0",
      "parents": [
        "96a5f2d95618d570a52f2b578bae63182b073d70"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Aug 28 07:44:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 07:48:38 2026"
      },
      "message": "[libc++] Use __copy_n in vector::__assign_with_size (#218370)\n\nThis was originally part of #214132. However, that patch has some\ndifficult to track down performance issue. I\u0027m splitting this up to make\nthe search easier.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c8f86a9deeee3bb41ee84158e39687777aa3ac1b\n"
    },
    {
      "commit": "96a5f2d95618d570a52f2b578bae63182b073d70",
      "tree": "ee445a6326a3a4e368c6ad233e94006f6a12e73c",
      "parents": [
        "85c0de603f2a8aff0268e5e01517873d9dc77f3c"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Fri Aug 28 00:49:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 00:51:35 2026"
      },
      "message": "[libc++][FTM] Updated FTMs from C++29 (#218241)\n\n... and a few missing ones from previous standard versions.\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3ede2f0565120a4799b6cfa159fdd6b2caa9f31f\n"
    },
    {
      "commit": "85c0de603f2a8aff0268e5e01517873d9dc77f3c",
      "tree": "e06c732891040ed9a74801ec4be2083a0d79d7c6",
      "parents": [
        "3b8f8ce9f0a31178b062e85a86be792660bc06c4"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Aug 27 17:25:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 17:31:24 2026"
      },
      "message": "[libc++] Document the procedure to introduce a new Standard in the library (#219026)\n\nAlso group the various recurring procedures we have.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0ba5d984835ecb16982f166df8b7811f462ce9ba\n"
    },
    {
      "commit": "3b8f8ce9f0a31178b062e85a86be792660bc06c4",
      "tree": "d563aea445b0299189d6abeaff2dbddf1eb1ba87",
      "parents": [
        "0f92e7832d52515c549a58f1d7a71379cdd3d2ae"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Aug 27 12:51:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 12:59:03 2026"
      },
      "message": "[libc++] Use new/delete expressions for memory allocation in \u003cany\u003e (#219153)\n\nThis simplifies the implementation a bit more and avoids some includes.\nThis is a step towards removing `__libcpp_allocate`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4149c503d3572de2c9bb05a1c89ff1a4937c770f\n"
    },
    {
      "commit": "0f92e7832d52515c549a58f1d7a71379cdd3d2ae",
      "tree": "797d46d2b2bba93b06b3998550c421629ffa79ed",
      "parents": [
        "18060ee618378fcb852f89a4415a337ae89e59ce"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Thu Aug 27 05:04:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 05:13:58 2026"
      },
      "message": "[libc++] Kickstart C++29 support (#215820)\n\nBased on https://github.com/llvm/llvm-project/pull/203992: Clang adds\n`c++2d` flag\nAlso based on\nhttps://github.com/llvm/llvm-project/commit/00c97cbc570042a49d8b1906c1a6f39106a21259\nlibc++ C++26 support\n\n1. Adds C++29 flag and macros (unlike Clang\u0027s `c++2d` uses the `c++29`\nflag, supported also by GCC)\n2. Updates FTM tests with C++29 details\n3. Updates generated files\n\n---------\n\nCo-authored-by: Lucas Mellone \u003cgithub.snugness349@passinbox.com\u003e\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f4c2282ebf721e05eec67f7ee500f752b019e518\n"
    },
    {
      "commit": "18060ee618378fcb852f89a4415a337ae89e59ce",
      "tree": "7068fdbc4e45715f2ada62ee9da3bc5cfa7f5601",
      "parents": [
        "cea98d1120fc07534ab688740019166cedd25471"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Wed Aug 26 20:20:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 20:28:46 2026"
      },
      "message": "[libc++] IWYU `\u003coptional\u003e` include in system_error.cpp (#215288)\n\nAvoids having to recompile the library if only `optional\u003cT\u0026\u003e` is\nmodified.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6f6fea37ee5291e103ed9a354c6495cc907094fa\n"
    },
    {
      "commit": "cea98d1120fc07534ab688740019166cedd25471",
      "tree": "9d663af520e02216a69e4372bf96ee9d28a1910f",
      "parents": [
        "519d171aa5e4154f27aa6f8696fb29bc512ee687"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Aug 26 17:13:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 17:19:11 2026"
      },
      "message": "[libc++][NFC] Add clarifying comment on dangling macro defininition (#215883)\n\nSince we #error immediately before, a comment is needed to explain the\npurpose of the define.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8452e5eef125cd26de9b228a40c661001f8acea1\n"
    },
    {
      "commit": "519d171aa5e4154f27aa6f8696fb29bc512ee687",
      "tree": "cb77a030028f0b5506607893f748ecfa84621794",
      "parents": [
        "698cdb7e0df8fba31961004c093dd86b1ffa0890"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Aug 26 14:21:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 14:27:12 2026"
      },
      "message": "[libc++][NFC] Refactor new.ipp so the _impl functions take a failure mode argument (#218648)\n\nThis avoids duplicating the failure path everywhere we use these\nfunctions. It also makes it more explicit what the intended failure path\nis.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fee7e4e81cc75c2e2453238a1e92619c5fa03382\n"
    },
    {
      "commit": "698cdb7e0df8fba31961004c093dd86b1ffa0890",
      "tree": "50ff2c981fa78e341beb37c61ff7650edfdc2f3c",
      "parents": [
        "c68cd84d44fd99bb3ccd7b78e0bcdcb7278c7aa7"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Aug 26 11:48:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 11:53:45 2026"
      },
      "message": "[libc++] Remove confusing summary (#218897)\n\nIt doesn\u0027t add much more than the preceding output.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6f217343afdb2d940c8b1ed6f638549f99d33292\n"
    },
    {
      "commit": "c68cd84d44fd99bb3ccd7b78e0bcdcb7278c7aa7",
      "tree": "89160dd7f01c20822e4ba50dfed35372c0ad93aa",
      "parents": [
        "0e991657f30fc02f3aeccc431b42288589575520"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Tue Aug 25 20:17:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 20:21:38 2026"
      },
      "message": "[libcxx] Remove dependency on msvcprt/libcpmt (#209663)\n\nThis is no longer needed in MSVC mode now after #94977 and #150182.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6a120c08fd01bd0368c9f509f91aad0e7b155a2e\n"
    },
    {
      "commit": "0e991657f30fc02f3aeccc431b42288589575520",
      "tree": "b666a5dcab8e0bb27285d3d8b1f98d7a0f09667a",
      "parents": [
        "4bf247640dfe80d0808ade61f63a8ad852f54829"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Aug 25 16:41:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 16:49:24 2026"
      },
      "message": "[libc++] Remove the historical benchmarking utilities (#217978)\n\nbenchmark-historical, visualize-historical and find-rerun-candidates\nwere built around storing historical benchmark data int a local\ndirectory. We now store it in LNT instead.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9a4fbbc38a0e43c1a4d023c371726bb72360054b\n"
    },
    {
      "commit": "4bf247640dfe80d0808ade61f63a8ad852f54829",
      "tree": "fed272f0a2c03e078806d6f506cffa13529849e1",
      "parents": [
        "f5c4ea545eee58b6a0b73e53030e294dab8b5782"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Tue Aug 25 16:15:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 16:23:30 2026"
      },
      "message": "[libc++] Add test for LWG4043 ASCII in text_encoding (#218175)\n\nIt turns out the ASCII entry was not an extension as I had initially\nthought, and was added as part of the resolution of LWG 4043. Update\nthe test and correct the status page.\n\nResolves #209899\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eaa52f7291d5bb9f29c5d1dd3f42181525ea755c\n"
    },
    {
      "commit": "f5c4ea545eee58b6a0b73e53030e294dab8b5782",
      "tree": "57d180bff272a2c1cbe9c61bf206b5c48c9a8104",
      "parents": [
        "f60a51a97c96c54d61fbaade56c0b33e751be72d"
      ],
      "author": {
        "name": "William Tran-Viet",
        "email": "wtranviet@proton.me",
        "time": "Tue Aug 25 15:56:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 16:02:46 2026"
      },
      "message": "[libc++][docs] Document `std::optional` hardening (#218173)\n\nResolves #218041\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 23e604d2616963f75d67dbcc59a3182f6980c15e\n"
    },
    {
      "commit": "f60a51a97c96c54d61fbaade56c0b33e751be72d",
      "tree": "e86b6389c1b1e5dc995755fe87ac5a872f980b5c",
      "parents": [
        "53fc7490eb14131bc74348449091c75b0a463ee7"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Aug 25 15:54:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 16:02:12 2026"
      },
      "message": "[libc++] Add availability for LLVM 22 on Apple platforms (#218518)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6a65e8441fb84aab31a7e54ae1abb75d76a43d59\n"
    },
    {
      "commit": "53fc7490eb14131bc74348449091c75b0a463ee7",
      "tree": "f302679a96b3e2c612a53452ec9f11ecf0d155a7",
      "parents": [
        "983972ad241099bf047e757bf5ed2c272762fc59"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Tue Aug 25 15:46:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 15:53:31 2026"
      },
      "message": "[libc++][math][NFC] Generalize test-suite improvement for `signbit` and `fpclassify` tests (#217897)\n\nThis patch generalizes the test-suite improvements for\n`signbit.pass.cpp` and `fpclassify.pass.cpp` as per the review comments\npresent in https://github.com/llvm/llvm-project/pull/210075 for\nconsistency purposes.\n\nFollows-up:\nhttps://github.com/llvm/llvm-project/pull/210075#discussion_r3629842324\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e0560c43d5d5d35530a41c7e201431c64411e3f3\n"
    },
    {
      "commit": "983972ad241099bf047e757bf5ed2c272762fc59",
      "tree": "d66ad56efbb5a1daab5a4cb04b1a0c3e797fa0e1",
      "parents": [
        "52a5d72a69182b4bc981ee34a1b8524b1eec4a12"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Aug 25 11:29:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 11:37:52 2026"
      },
      "message": "[libc++][NFC] Rename is_trivially_relocatable.h to is_relocatable.h (#218650)\n\nSooner or later we\u0027re going to introduce `__is_nothrow_relocatable_v`,\nwhich we\u0027ll want to put in the same header as\n`__is_trivially_relocatable_v`. Rename `is_trivially_relocatable.h` to\n`is_relocatable.h` to keep the header name correct.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a4fccdb6242c73455ccb38929efc9d9df060a595\n"
    },
    {
      "commit": "52a5d72a69182b4bc981ee34a1b8524b1eec4a12",
      "tree": "ab0fabe0f6665a0f464b94c2629dd3de13660d82",
      "parents": [
        "297c2d1614ba7c4ed5737059ed3a637b20919774"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Aug 25 09:47:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 09:53:06 2026"
      },
      "message": "[libc++] Remove _LIBCPP_SHORT_WCHAR (#207562)\n\nWe can just check for `sizeof(wchar_t)` in most places instead. The only\nplace that seems problematic is `test_macros.h`, where we can use\n`__SIZEOF_WCHAR_T__` instead.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b18437588a1c66f95313ff8298b961f5b0fd79c9\n"
    },
    {
      "commit": "297c2d1614ba7c4ed5737059ed3a637b20919774",
      "tree": "8a3522277e51c8bdd96655e8b32aa87607c6f17f",
      "parents": [
        "3cd769e2064d789ca7e9a077496f3d3812fe436c"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Aug 25 09:46:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 09:52:42 2026"
      },
      "message": "[libc++] Optimize vector::erase (#213916)\n\nThis optimization is for trivially relocatable types. Instead of move\nassigning the tail and then destroying the last N elements, we now\ndestroy the elements that are erased and then relocate the tail forward.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d4205a3ba03b59d0ff43c57b1cb80c06b93ca1a4\n"
    },
    {
      "commit": "3cd769e2064d789ca7e9a077496f3d3812fe436c",
      "tree": "aa582033644b7f86198ba4b11c8b2f08c8c7d5a8",
      "parents": [
        "d816ed0274edb2f8ae2a514584476dfa7acfbca1"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Aug 25 08:25:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 09:52:19 2026"
      },
      "message": "[libc++] Optimize vector growth for nothrow move constructible types (#214690)\n\nThe optimization is to perform move-and-destroy in a single pass as\nopposed to moving everything, and then destroying everything. Performing\nmove-and-destroy in one pass allows the compiler to better optimize the\ncombination of move and destroy, which can often be simplified.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3396be2daea07ceee6a2caa74e01ab0faca227d6\n"
    },
    {
      "commit": "d816ed0274edb2f8ae2a514584476dfa7acfbca1",
      "tree": "ab2708728454bb72dc4c2099aa31e9a44ebb1b45",
      "parents": [
        "def01bd012f56d2fd8f5e2dc75dc28a846ab9cdb"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Aug 25 08:23:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 08:28:27 2026"
      },
      "message": "[libc++][NFC] Remove vector::__base_destruct_at_end (#217631)\n\nWe can just inline `__base_destruct_at_end` into `__destruct_at_end`.\nThe only other place where `__base_destruct_at_end` was used is\n`clear()`, but that has basically the same code as `__destruct_at_end`,\nso we can use `__destruct_at_end` instead.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c254a1ee0d641dcddff201c71ae2dbc682d89391\n"
    },
    {
      "commit": "def01bd012f56d2fd8f5e2dc75dc28a846ab9cdb",
      "tree": "ad96ea34a51f5229736d6d3ac87d86b85e25aeef",
      "parents": [
        "eedfcbfab0fea4f1cdcbcf5ff31bcf8dfa6fabcd"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Tue Aug 25 06:43:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 06:47:18 2026"
      },
      "message": "[libc++][ranges][enumerate_view] Fix sentinel converting constructor test (#217365)\n\nCompletes the `[range.enumerate.sentinel]` converting constructor test\nby addressing the review comment\nhttps://github.com/llvm/llvm-project/pull/73617#discussion_r1416643142\nfrom the original implementation.\n\n---------\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5721f97f6a55c9a1bf01b35dec67d8ff77a21b9e\n"
    },
    {
      "commit": "eedfcbfab0fea4f1cdcbcf5ff31bcf8dfa6fabcd",
      "tree": "e7e8fc76d71ebc2b3b03ff586842476f9dfcaef6",
      "parents": [
        "a923dbb519af7704728ee4e69f1bdaef3f24fa19"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Aug 24 14:01:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 14:07:07 2026"
      },
      "message": "[libc++] Implement single element vector::insert in terms of emplace (#210284)\n\nThis also ports an optimization to `emplace`: if we copy/move construct\nthe element we can avoid constructing a temporary.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 014621ede7c175aece29796adcaf5000f891cf0c\n"
    },
    {
      "commit": "a923dbb519af7704728ee4e69f1bdaef3f24fa19",
      "tree": "66b8e50aa26ae6513ba488d9c932586e9aa09fa2",
      "parents": [
        "3b5e31b011bdee2e5d5f1d6b45c3a1faf4bade4f"
      ],
      "author": {
        "name": "aokblast",
        "email": "aokblast@FreeBSD.org",
        "time": "Mon Aug 24 05:15:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 05:21:19 2026"
      },
      "message": "[libcxx][FreeBSD] Add comments for unsupported xopen_source.gen.py test (#216002)\n\nFreeBSD _XOPEN_SOURCE \u003d\u003d 500 does not satisfy some requirements in\nlibcxx. As a result, tests fail when trying to find the declarations of\nthese functions.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c040f77536e68a68feb37008321512e2d3b400ef\n"
    },
    {
      "commit": "3b5e31b011bdee2e5d5f1d6b45c3a1faf4bade4f",
      "tree": "9680b60401c496ec9705746fdb84dc03ce7f299a",
      "parents": [
        "968692e110b6abd8129b04bedf6e7f9d748b3a34"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Sat Aug 22 11:50:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 22 11:56:30 2026"
      },
      "message": "[libc++] Also run the benchmarks with Fast hardening mode (#218029)\n\nThis PR adds a LNT machine configuration that runs with Fast hardening\non macOS. This is done by making it possible to pass a CMake cache to\nuse for building the library to `run-benchmarks`.\n\nThe obvious caveat is that we can\u0027t pass parameters to the test suite\nitself. In the future, I think the cleanest way to do that would be to\nmake the test suite independent from the libc++ build and give it its\nown configuration options. We could then pass one CMake cache for the\nbuild, and one CMake cache for configuring the test suite. However,\nsince this requires a lot more work and the hardening mode is baked into\nthe library once configured, the current patch is sufficient to achieve\nour goals.\n\nFixes #218028\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8fbe22b71c5116023dc9fd738758976f7591dbb6\n"
    },
    {
      "commit": "968692e110b6abd8129b04bedf6e7f9d748b3a34",
      "tree": "f2a1f129071dd59167c41bda5a27d0d04031ef03",
      "parents": [
        "c70743933505f39ca5cbde10f68df9104d4031ab"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Sat Aug 22 08:37:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 22 08:42:14 2026"
      },
      "message": "[libc++] Disable the wmemchr optimization in std::find on Apple platforms (#217655)\n\n`wmemchr` on Apple platforms is incredibly slow. We can do significantly\nbetter by just implementing it on our own.\n\nFixes #205840\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6b5eef65d1b4568e902dd04f294076c275cc4991\n"
    },
    {
      "commit": "c70743933505f39ca5cbde10f68df9104d4031ab",
      "tree": "fe1bba3649b501c880fb47841c385ae45a48c8e9",
      "parents": [
        "93eb83323bae9cb4ef541472df3ffac972001510"
      ],
      "author": {
        "name": "Vladimir Vereschaka",
        "email": "vvereschaka@accesssoftek.com",
        "time": "Fri Aug 21 18:30:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 18:38:42 2026"
      },
      "message": "[libc++][tests] Enable \u0027simd_unary.pass.cpp\u0027 test for Armv7 Linux targets. (#217807)\n\nRemove test\u0027s XFAIL for the `armv7-unknown-linux-gnueabihf` target\nbecause the ARM codegen has been fixed and does not crash with the\nassert anymore.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9b1aee96e8897ca7c8bfa363ec87c7acf5d6b656\n"
    },
    {
      "commit": "93eb83323bae9cb4ef541472df3ffac972001510",
      "tree": "3599fba99563776b030df937c618e0697661f643",
      "parents": [
        "308d50d28bc18a7581c1a08c806eb5cdc470332c"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Aug 21 16:58:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 17:04:14 2026"
      },
      "message": "[libc++] Give the LNT tooling its own requirements.txt (#217889)\n\nThe LNT tooling alone has way fewer dependencies. Using a smaller\nrequirements.txt should speed up the \"request historical benchmark data\"\ncron job that runs every 30 minutes and needs to install them.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 06424ca07eff4ad85c9a96f161a534d9ca9818b6\n"
    }
  ],
  "next": "308d50d28bc18a7581c1a08c806eb5cdc470332c"
}
