)]}'
{
  "log": [
    {
      "commit": "9c18f789b6bb4f1eab145b47b18fe8a1250595bf",
      "tree": "0b41d3f93f344ed86c7d59eba12a99535cdff4f7",
      "parents": [
        "d67436108a49d35578709f020bc435c7997a8cc3"
      ],
      "author": {
        "name": "Jackson Stogel",
        "email": "jtstogel@gmail.com",
        "time": "Wed Apr 29 15:28:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 29 15:31:11 2026"
      },
      "message": "[libc++abi][libc][test] Use LLVM-libc headers in LLVM-libc config (#194665)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f78419c36b24b8f5fbf2fef94880e8fab0f355e4\n"
    },
    {
      "commit": "d67436108a49d35578709f020bc435c7997a8cc3",
      "tree": "1336287316c0cbbea97034b8acbcaa4cda21e739",
      "parents": [
        "8b5d7b38ffe699567443ca692dda4a96f8810ee7"
      ],
      "author": {
        "name": "Khem Raj",
        "email": "khem.raj@oss.qualcomm.com",
        "time": "Mon Apr 27 07:35:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 27 07:41:13 2026"
      },
      "message": "libcxxabi: declare __gnu_unwind_frame in cxa_personality (#189787)\n\nARM EHABI builds of libcxxabi fail with clang-22+ because\ncxa_personality.cpp calls __gnu_unwind_frame without a visible\ndeclaration, triggering:\n\n  error: use of undeclared identifier \u0027__gnu_unwind_frame\u0027\n\nAdd an extern \"C\" forward declaration before the EHABI unwind helper so\nthe source compiles correctly.\n\nSigned-off-by: Khem Raj \u003ckhem.raj@oss.qualcomm.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8119f1854948b50358bbfaea08f207f51970f06c\n"
    },
    {
      "commit": "8b5d7b38ffe699567443ca692dda4a96f8810ee7",
      "tree": "80969951bb6ec66d80b9a2da0041c063878c1052",
      "parents": [
        "f09346e13a4fd842fc9b3ba1855df60043254fc7"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 23 17:15:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 23 17:21:11 2026"
      },
      "message": "[libcxx] Add Testing Configuration for LLVM libc\n\nThis patch adds a CMake cache, and the testing configs to build libc++\nand run the tests against LLVM libc.\n\nReviewers: ldionne, philnik777, jtstogel\n\nPull Request: https://github.com/llvm/llvm-project/pull/165120\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f650fba569c41637bf7bec8ed0e89bbb13bf3812\n"
    },
    {
      "commit": "f09346e13a4fd842fc9b3ba1855df60043254fc7",
      "tree": "59da0aafd2939b97b2a53aaa6088757112765bdc",
      "parents": [
        "f4fb49ade64c56dc2bfd6605c7b264b92d474ca9"
      ],
      "author": {
        "name": "Marco Elver",
        "email": "elver@google.com",
        "time": "Wed Apr 22 15:57:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 22 16:00:58 2026"
      },
      "message": "[ItaniumDemangle] Strip __alloc_token_ to transparently demangle allocation functions (#191048)\n\nUpdate the Itanium demangler to recognize and strip `__alloc_token_`\nprefixes introduced by AllocToken instrumentation [1]. This ensures that\ninstrumented allocation functions (e.g., `__alloc_token__Znwm`) demangle\nback to their original source-level names (e.g., `operator new(unsigned\nlong)`) with a suffix `(.alloc_token)` indicating their non-standard\norigin.\n\nSince AllocToken is intended to be transparent to users who continue to\nuse `operator new` as before, the demangled name should reflect this\nreality instead of confusing users with internal instrumentation names\nin stack traces or symbolization output.\n\nSynchronize changes across llvm and libcxxabi copies.\n\n[1] https://clang.llvm.org/docs/AllocToken.html\n\nOriginal RFC: https://discourse.llvm.org/t/rfc-a-framework-for-allocator-partitioning-hints/87434\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fb6f1bde00c4ed3650bd1152607718a95ca0ce6d\n"
    },
    {
      "commit": "f4fb49ade64c56dc2bfd6605c7b264b92d474ca9",
      "tree": "5bf2de50e18447345a34ab2389264d3919da895b",
      "parents": [
        "71ea444eeb0ac4ed6698ff585a15158eea30107f"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Apr 20 14:08:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 20 14:11:50 2026"
      },
      "message": "[libc++] Update to Clang 21 as the oldest supported version (#186062)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5d98f79f52dd56750e826eb6efcd8b5cf41de239\n"
    },
    {
      "commit": "71ea444eeb0ac4ed6698ff585a15158eea30107f",
      "tree": "509e71622f19c5e488780b93406c2f0e4ea99364",
      "parents": [
        "4fcf5697aa8d156786c3830352b5c67aadd6b8cd"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Thu Apr 02 10:32:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 10:35:56 2026"
      },
      "message": "[Runtimes] Introduce variables containing resource dir paths (#177953)\n\nIntroduce common infrastructure for runtimes that determines compiler\nresource path locations. These variables introduced are:\n\n * RUNTIMES_OUTPUT_RESOURCE_DIR\n * RUNTIMES_INSTALL_RESOURCE_PATH\n\nThat contain the location for the compiler resource path (typically\n`lib/clang/\u003cversion\u003e`) in the build tree and the install tree (the\nlatter relative to CMAKE_INSTALL_PREFIX).\n\nAdditionally, define\n\n * RUNTIMES_OUTPUT_RESOURCE_LIB_DIR\n * RUNTIMES_INSTALL_RESOURCE_LIB_PATH\n\nas for the location of clang/flang version-locked libraries (typically\n`lib${LLVM_LIBDIR_SUFFIX}/\u003ctarger-triple\u003e`, but also depends on `APPLE`\nand `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR`). This code is moved from\nflang-rt and initially becomes its only user.\n\nRefactored out of #171610 as requested\n[here](https://github.com/llvm/llvm-project/pull/171610#discussion_r2687382481).\n\nExtracted `get_runtimes_target_libdir_common` from compiler-rt as\nrequested\n[here](https://github.com/llvm/llvm-project/pull/171610#discussion_r2689565634).\n\nAdded TODO comments to all runtimes as requested\n[here](https://github.com/llvm/llvm-project/pull/171610#issuecomment-3789598635).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: afb80bddf147c134c5e3cf3f357f8d00bdfd526c\n"
    },
    {
      "commit": "4fcf5697aa8d156786c3830352b5c67aadd6b8cd",
      "tree": "fbfa82be1b781ce7d9db7b3c133c437e26ef81cd",
      "parents": [
        "b33184c5a1cb0b6aa45b48f4242c37bbf18b6210"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Mar 25 22:51:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 22:54:59 2026"
      },
      "message": "Prepare libcxx and libcxxabi for pointer field protection.\n\nPointer field protection has the following characteristics:\n\n- Pointer fields in RTTI types are unsigned. Signing these fields\n  is unnecessary because PFP is a mechanism for protecting the heap,\n  and the RTTI objects typically live in global variables. Therefore,\n  mark the fields with the no_field_protection to inhibit PFP for these\n  fields.\n\n- libcxx\u0027s interim trivial relocatability implementation, which memcpy\u0027s\n  some non-trivially-copyable objects according to the value of a trait,\n  conflicts with PFP in tagged mode (in which the address of the pointer\n  is used as part of the pointer encoding) by causing such copies to\n  result in a crash in some cases where the object being copied includes\n  a pointer field. These copies are undefined behavior. Therefore, make\n  libcxx\u0027s trivially relocatable predicate simply return the value of\n  the trivially copyable trait when PFP in tagged mode is enabled, which\n  results in standards compliant behavior that is accommodated by PFP.\n\nReviewers: philnik777, fmayer, ldionne\n\nPull Request: https://github.com/llvm/llvm-project/pull/151651\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f3274a496c7f80ff95170c1f78fdad48f95e67bd\n"
    },
    {
      "commit": "b33184c5a1cb0b6aa45b48f4242c37bbf18b6210",
      "tree": "fe07af5f00f5455ffe30cce1918b191cd82d4094",
      "parents": [
        "9e1257e8c9d6b9d88d794ccbfbacfda591605a08"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Jan 20 11:51:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 20 11:54:26 2026"
      },
      "message": "[libc++] Remove _LIBCPP_CONSTINIT (#171802)\n\n`_LIBCPP_CONSTINIT` is only ever used inside `src/`, so we can just\nreplace it with `constinit` instead.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 67cf9b8f827e816ada6dbbee3a4f0cdb7c1d0595\n"
    },
    {
      "commit": "9e1257e8c9d6b9d88d794ccbfbacfda591605a08",
      "tree": "0045cce8b7b42faf9f4116079b29115fd9650674",
      "parents": [
        "d5b9b3d55903b699d048d36075a9768799a987e1"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Jan 19 21:46:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jan 19 21:50:35 2026"
      },
      "message": "[libc++abi] Remove old workaround for detecting libunwind (#176009)\n\nThis workaround should no longer be relevant since we don\u0027t support\nbuilding against libunwind headers from LLVM 14.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e02c79a85ac31446a0022a15a3247599c928bef4\n"
    },
    {
      "commit": "d5b9b3d55903b699d048d36075a9768799a987e1",
      "tree": "7a5cf6603c991c49c69c7a76a6cfd77871ac5780",
      "parents": [
        "93da4bf5dc21ba8439cf9b983801491a837d2bbf"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Jan 14 18:39:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 14 18:41:06 2026"
      },
      "message": "[runtimes] Post-branch tasks for the LLVM 23 release (#176007)\n\nThis performs most of the post-branch tasks to start working on the LLVM\n23 release. Things that are left to do:\n- Update the unicode version\n- Update CI versions and supported compiler versions\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ec983ad611fa15890fdcf5c3066e938b5b154459\n"
    },
    {
      "commit": "93da4bf5dc21ba8439cf9b983801491a837d2bbf",
      "tree": "f16534902a3eedded84a46befffb1ffa9b82eafa",
      "parents": [
        "d4705d6271dabbe20919bce5ae4fed3b88508c64"
      ],
      "author": {
        "name": "willmafh",
        "email": "willmafh@hotmail.com",
        "time": "Wed Jan 14 08:12:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 14 08:15:48 2026"
      },
      "message": "[NFC] Exactly one kind typo fixes, change defintions to definitions. (#174333)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c705003e8c36c481b8ecfe2af38f03c4fbfa0e0c\n"
    },
    {
      "commit": "d4705d6271dabbe20919bce5ae4fed3b88508c64",
      "tree": "fa164d46b658eee14a74510c72d9d211c590e673",
      "parents": [
        "84b57421e89e595170d8f78142e187a1d6ca8a53"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Jan 13 10:21:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 13 10:25:43 2026"
      },
      "message": "[libc++] Replace uses of _LIBCPP_WEAK with [[gnu::weak]] (#171798)\n\nUsing `_LIBCPP_WEAK` doesn\u0027t give us anything that using `[[gnu::weak]]`\ndirectly couldn\u0027t, so we can just expand the macro.\nAs a drive-by this also refactors `_LIBCPP_OVERRIDABLE_FUNCTION`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f0054a48966e684df26e589f2fc803932e03aba4\n"
    },
    {
      "commit": "84b57421e89e595170d8f78142e187a1d6ca8a53",
      "tree": "94710f22902acbff4e7e0be6a617ebb56bf569f3",
      "parents": [
        "1aa58f6ab39d9cda45ede4c28251c935cf4827be"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Jan 09 11:07:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 09 11:10:27 2026"
      },
      "message": "[libc++][NFC] Refactor _LIBCPP_OVERRIDABLE_FUNCTION to be a normal attribute macro (#174964)\n\nCurrently `_LIBCPP_OVERRIDABLE_FUNCTION` takes the return type, function\nname and argument list, but simply constructs the function and adds\nattributes without modifying the signature in any way. We can replace\nthis with a normal attribute macro, making the signature easier to read\nand simpler to understand what\u0027s actually going on. Since it\u0027s an\ninternal macro we can also drop the `_LIBCPP_` prefix.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a5cab90071fbf6f700c95c337d850845ccc9ed9b\n"
    },
    {
      "commit": "1aa58f6ab39d9cda45ede4c28251c935cf4827be",
      "tree": "a8e55727cc6fa788b748f856c5d25c292f7ffacd",
      "parents": [
        "c2c3356b58cab6a0fb263c873dcd7a571bd35baa"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Fri Jan 09 10:58:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 09 11:00:30 2026"
      },
      "message": "[libc++] Introduce the notion of a minimum header version (#166074)\n\nIntroducing the notion of a minimum header version has multiple\nbenefits. It allows us to merge a bunch of ABI macros into a single one.\nThis makes configuring the library significantly easier, since, for a\nstable ABI, you only need to know which version you started distributing\nthe library with, instead of checking which ABI flags have been\nintroduced at what point. For platforms which have a moving window of\nthe minimum version a program has been compiled against, this also makes\nit simple to remove symbols from the dylib when they can\u0027t be used by\nany program anymore.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 484ee42096f8deeb084c8b36548d09c12b33cde0\n"
    },
    {
      "commit": "c2c3356b58cab6a0fb263c873dcd7a571bd35baa",
      "tree": "1b7bb5a08312fe2f454867b8c044f46e0b3f3205",
      "parents": [
        "9f13c32a7e4180f6854e447e57a0f7306e473184"
      ],
      "author": {
        "name": "willmafh",
        "email": "willmafh@hotmail.com",
        "time": "Sun Jan 04 12:02:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jan 04 12:05:23 2026"
      },
      "message": "[NFC] Delete unnecessary apostrophe at the end of its (#173974)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2eb8ee137f28e46a1711a28b6575083dafba7c8e\n"
    },
    {
      "commit": "9f13c32a7e4180f6854e447e57a0f7306e473184",
      "tree": "9ee0db2dc07c59a4ea0c492bae323ebef8e22c5b",
      "parents": [
        "8f11bb1d4438d0239d0dfc1bd9456a9f31629dda"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Dec 16 10:25:07 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 10:30:18 2025"
      },
      "message": "[libc++] Enable -Wmissing-prototypes (#116261)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3c100d5d548d511d09746dd5a2fee29bdd00805c\n"
    },
    {
      "commit": "8f11bb1d4438d0239d0dfc1bd9456a9f31629dda",
      "tree": "63eed58f0937ba832a2195cd848f9f53ef8ecea9",
      "parents": [
        "7a8c5a0cbf615a7e44bd924c124cc8e8663ea093"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Dec 12 17:09:11 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Dec 12 17:10:43 2025"
      },
      "message": "[runtimes] Remove dependencies on cxx_experimental for test-suite installs (#171678)\n\nThis patch removes explicit dependencies on cxx_experimental for\ninstallations that are local to the test suite. Such dependencies\nare not required anymore from the test-suite installation targets\nsince the proper dependency is now encoded between cxx and\ncxx_experimental.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4ffd373e3853ebc00fb339611e215deab682a54c\n"
    },
    {
      "commit": "7a8c5a0cbf615a7e44bd924c124cc8e8663ea093",
      "tree": "503cb9e43990ff4d9406019ad653100b9ac9526b",
      "parents": [
        "ad354a108725bcfe6f81db448308fc2c955392e9"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Dec 11 14:10:54 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 11 14:17:04 2025"
      },
      "message": "[libc++] Simplify how we install test-suite dependencies (#171504)\n\nBased on comments in #171474, it was brought to my attention that we can\nmodernize and simplify how we perform the test suite installation in\nlibc++ and libc++abi.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f582fc649178931694d6e360ec79e8c1fe8a0d0b\n"
    },
    {
      "commit": "ad354a108725bcfe6f81db448308fc2c955392e9",
      "tree": "5b3ac7d473b6f8ccbe7c7aaa2c0ea7c63ebeb0e8",
      "parents": [
        "83a852080747b9a362e8f9e361366b7a601f302c"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Dec 11 14:09:37 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 11 14:10:41 2025"
      },
      "message": "[runtimes] Modernize installation targets (#171677)\n\nThis patch moves away from using cmake_install scripts to install the\nvarious targets when building runtimes, since those have been deprecated\nby CMake. Instead, we use `cmake --install` which is the prefered\nmethod.\n\nThis patch also localizes how we set dependencies on the various\ninstallation targets, allowing the removal of a few global variables\nthat were used as lists.\n\nFinally, it makes the way we set up installation targets for libc++,\nlibc++abi and libunwind consistent again.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a9fadb3ed4fba28d031a4bc72de8f3fc15c08072\n"
    },
    {
      "commit": "83a852080747b9a362e8f9e361366b7a601f302c",
      "tree": "eddc55517099869ccdecdfb004d63890af973562",
      "parents": [
        "de02e5d57052b3b6d5fcd76dccde9380bca39360"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Nov 24 21:36:13 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 24 21:43:05 2025"
      },
      "message": "[libc++][NFC] Move __memory/aligned_alloc.h into src/ (#166172)\n\nThis header is only ever used inside `src/`, so we might as well move it\nthere. As a drive-by this also removes some dead code.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3dcdb4c7658fb955d61fde5bd5232bdeadfc7eeb\n"
    },
    {
      "commit": "de02e5d57052b3b6d5fcd76dccde9380bca39360",
      "tree": "8030c412a3b585b28468288ab174758f00ade7ce",
      "parents": [
        "49c89732c7383c0d69a05a49f8137c885da74e48"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Nov 12 09:12:13 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 12 09:18:31 2025"
      },
      "message": "[libc++abi] Add a test to ensure the abi namespace alias is declared correctly (#167485)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a8e058a590842d745106cdffc74a7020c0f85cd4\n"
    },
    {
      "commit": "49c89732c7383c0d69a05a49f8137c885da74e48",
      "tree": "b08eae43e1424facbbf5b1d9b0a309a7c8cea99a",
      "parents": [
        "1cf6694dd7c9742854a0e0692d60ef4445ab87cb"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Mon Nov 10 19:04:26 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 10 19:05:59 2025"
      },
      "message": "[libc++abi][NFC] Remove some cruft from \u003c__cxxabi_config.h\u003e (#164578)\n\nIn `\u003c__cxxabi_config.h\u003e` there were a few things still around which\naren\u0027t ever actually used. This removes some of that cruft.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 46a8ddbd1494812474502de5f9841492225c28a1\n"
    },
    {
      "commit": "1cf6694dd7c9742854a0e0692d60ef4445ab87cb",
      "tree": "b3635d5eab512d0c9fd6e1bfa687e4786f5df68d",
      "parents": [
        "21fdc927a62ba243ddbf79aed7ef0d0e53fe0f6a"
      ],
      "author": {
        "name": "Raul Tambre",
        "email": "raul@tambre.ee",
        "time": "Sat Nov 08 20:20:13 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Nov 08 20:26:13 2025"
      },
      "message": "[libc++abi][libunwind] Enable AT\u0026T syntax explicitly (#166818)\n\nImplementation files using the Intel syntax typically explicitly specify\nit. Do the same for the few files where applicable for AT\u0026T.\n\nThis enables building LLVM with `-mllvm -x86-asm-syntax\u003dintel` in one\u0027s\nClang config files (i.e. a global preference for Intel syntax).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: afc83688cfadfb07c1cd9edc4f3c855d7cf4a261\n"
    },
    {
      "commit": "21fdc927a62ba243ddbf79aed7ef0d0e53fe0f6a",
      "tree": "876360554d915fc5c37a57521cb182554371fa06",
      "parents": [
        "eb87541772bf2b25422d95f7e3bf8ef3d782b5ef"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Fri Nov 07 07:52:03 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 07 07:57:07 2025"
      },
      "message": "[libcxxabi][ItaniumDemangle] Separate GtIsGt counter into more states (#166578)\n\nCurrently `OutputBuffer::GtIsGt` is used to tell us if we\u0027re inside\ntemplate arguments and have printed a \u0027(\u0027 without a closing \u0027)\u0027. If so,\nwe don\u0027t need to quote \u0027\u003c\u0027 when printing it as part of a binary\nexpression inside a template argument. Otherwise we need to. E.g.,\n```\nfoo\u003ca\u003c(b \u003c c)\u003e\u003e // Quotes around binary expression needed.\n```\n\nLLDB\u0027s `TrackingOutputBuffer` has heuristics that rely on checking\nwhether we are inside template arguments, regardless of the current\nparentheses depth. We\u0027ve been using `isGtInsideTemplateArgs` for this,\nbut that isn\u0027t correct. Resulting in us incorrectly tracking the\nbasename of function like:\n```\nvoid func\u003c(foo::Enum)1\u003e()\n```\nHere `GtIsGt \u003e 0` despite us being inside template arguments (because we\nincremented it when seeing \u0027(\u0027).\n\nThis patch adds a `isInsideTemplateArgs` API which LLDB will use to more\naccurately track parts of the demangled name.\n\nTo make sure this API doesn\u0027t go untested in the actual libcxxabi\ntest-suite, I changed the existing `GtIsGt` logic to use it. Also\nrenamed the various variables/APIs involved to make it (in my opinion)\nmore straightforward to understand what\u0027s going on. But happy to rename\nit back if people disagree.\n\nAlso adjusted LLDB to use the newly introduced API (and added a\nunit-test that would previously fail).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 54c9ddddd1da353b0303df1e86cf444c5363733d\n"
    },
    {
      "commit": "eb87541772bf2b25422d95f7e3bf8ef3d782b5ef",
      "tree": "8742e81983db96c241efd132523fe95d708715ca",
      "parents": [
        "bb789ae647a626f62dd28806334314fd72071f6f"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Wed Nov 05 17:48:47 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 05 17:50:40 2025"
      },
      "message": "[libcxxabi][demangle] Fix the cp-to-llvm.sh sync script to copy all headers (#166572)\n\nIn https://github.com/llvm/llvm-project/pull/137947 I refactored the\nscript and added a `copy_files` function, which takes the header files\nto copy as an argument.\n\nBut because the list of headers is a space separated string, we need to\nquote the string. Otherwise we would just copy the first header in the\nlist.\n\nThis patch also adds an `echo` statement in the `copy_files` loop to\nprint the source/destination. Confirming that the files are copied as\nexpected.\n```\n$ libcxxabi/src/demangle/cp-to-llvm.sh\nThis will overwrite the copies of ItaniumDemangle.h ItaniumNodes.def StringViewExtras.h Utility.h in ../../../llvm/include/llvm/Demangle and DemangleTestCases.inc in ../../../llvm/include/llvm/Demangle/../Testing/Demangle; are you sure? [y/N]y\nCopying ./ItaniumDemangle.h to ../../../llvm/include/llvm/Demangle/ItaniumDemangle.h\nCopying ./ItaniumNodes.def to ../../../llvm/include/llvm/Demangle/ItaniumNodes.def\nCopying ./StringViewExtras.h to ../../../llvm/include/llvm/Demangle/StringViewExtras.h\nCopying ./Utility.h to ../../../llvm/include/llvm/Demangle/Utility.h\nCopying ../../test/DemangleTestCases.inc to ../../../llvm/include/llvm/Demangle/../Testing/Demangle/DemangleTestCases.inc\n```\n\nLuckily there weren\u0027t any out-of-sync changes introduced in the\nmeantime.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d49c6707d07389e4bccdb23951dc9d3bc20996b1\n"
    },
    {
      "commit": "bb789ae647a626f62dd28806334314fd72071f6f",
      "tree": "5fb845ddb81b08dd06b451911e0e550b4a662254",
      "parents": [
        "9df28d1e6c6e831ad34a0cd354f667e3d54fc3a1"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Nov 03 04:41:26 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 03 04:45:28 2025"
      },
      "message": "[libcxxabi] Update demangle/Utility.h\n\n4eed68357e4361b3a3aeb349dec2612cfb74c8cc updated the LLVM side but did\nnot bump the libc++abi version. Bump the libc++abi version to fix the\ntest failure caused by the versions differing.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c946b96d9bca595888535bcc0499fc1ea6a42192\n"
    },
    {
      "commit": "9df28d1e6c6e831ad34a0cd354f667e3d54fc3a1",
      "tree": "49ef40090e54e5ab7701dd17a8a3012603394941",
      "parents": [
        "a1e05c981bb96e3772b3e24686f5a408db34e09e"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Mon Nov 03 01:24:30 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 03 01:26:02 2025"
      },
      "message": "[libc++] Add availability markup for LLVM 19 and LLVM 20 (#140072)\n\nAn LLVM 19-aligned libc++ was released with macOS 15.4 (and corresponding OSes),\nand LLVM-20 aligned with macOS 26.0. This patch adds availability markup to\nreflect that.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3252e11da3ac990732d02d1a881b6544d81fe955\n"
    },
    {
      "commit": "a1e05c981bb96e3772b3e24686f5a408db34e09e",
      "tree": "43754f3e1175ac160b048c31d973995367b1011b",
      "parents": [
        "a02fa0058d8d52aca049868d229808a3e5dadbad"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 30 15:50:33 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 30 15:55:50 2025"
      },
      "message": "[libc++] Fix localization failures on macOS 15.4 (#138744)\n\nThis patch reverts e15025dd and 88e15b781 which were temporary measures\nuntil we had figured out the underlying issues. It turns out that recent\nOSes updated localization data, removing the need for several Apple-specific\nworkarounds in the tests.\n\nFixes #135385\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a98295dbcf500a21ea10e2124b6521a3124da643\n"
    },
    {
      "commit": "a02fa0058d8d52aca049868d229808a3e5dadbad",
      "tree": "c93f13436c12e4955aa3ab8c936983656951332c",
      "parents": [
        "8e720a3a3ae30fcfffe436aae418c91acacc34d0"
      ],
      "author": {
        "name": "Oliver Hunt",
        "email": "oliver@apple.com",
        "time": "Mon Oct 20 16:57:45 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 20 17:02:07 2025"
      },
      "message": "[runtimes][PAC] Harden unwinding when possible (#143230)\n\nThis hardens the unwinding logic and datastructures on systems\nthat support pointer authentication.\n\nThe approach taken to hardening is to harden the schemas of as many\nhigh value fields in the myriad structs as possible, and then also\nexplicitly qualify local variables referencing privileged or security\ncritical values.\n\nThis does introduce ABI linkage between libcxx, libcxxabi, and\nlibunwind but those are in principle separate from the OS itself\nso we\u0027ve kept the schema definitions in the library specific headers\nrather than ptrauth.h\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e6a1aff5916447630e9ec0e8a90594ca1ee7a1be\n"
    },
    {
      "commit": "8e720a3a3ae30fcfffe436aae418c91acacc34d0",
      "tree": "2967158edc42f87816995afdba4a6b72e1ae020c",
      "parents": [
        "538691d3278b087544b5d71408c2a368b5ea878c"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Oct 09 23:52:42 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 09 23:55:58 2025"
      },
      "message": "[libcxx] Use %{temp} instead of %T (#162323)\n\nBased on review feedback in #160026.\n\nThis makes the substitution a lot more clear now that there is no\ndocumentation around %T.\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0c2913afc82a683d82f16f09442d49b1fb25ca67\n"
    },
    {
      "commit": "538691d3278b087544b5d71408c2a368b5ea878c",
      "tree": "29eecb2f7bc9398f10ba27ac32e9e39f3270b739",
      "parents": [
        "864f61dc9253d56586ada34c388278565ef513f6"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 09 13:00:20 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 09 13:02:49 2025"
      },
      "message": "[runtimes][NFC] Consistently declare main() functions in tests (#162548)\n\nIn the libc++ test suite, we consistently declare main() functions with\nfull parameters and explicitly return from the function. This helps code\nthat compiles the tests with -ffreestanding, where main() is not a\nspecial function (with an implicit return and special mangling).\n\nThis patch fixes a few stray declarations, including in libunwind and\nlibc++abi.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4f80c064eb2933c00c0ba9b7826aa3631cf3b5c2\n"
    },
    {
      "commit": "864f61dc9253d56586ada34c388278565ef513f6",
      "tree": "6cb33bdff5eb1c7d7613a4b5c668e3c09b4148a1",
      "parents": [
        "f7f5a32b3e9582092d8a4511acec036a09ae8524"
      ],
      "author": {
        "name": "David Spickett",
        "email": "david.spickett@linaro.org",
        "time": "Mon Sep 15 08:20:58 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 15 08:25:57 2025"
      },
      "message": "[libcxx][CI] Use lld for everything in the ARM picolib builds (#158320)\n\nOur host compiler is a clang install that will default to ld if not told\notherwise.\n\nWe were telling meson to use lld, but the way that we did it was\noutdated, which lead to picolib producing a linker script that lld could\nnot use. The tests were in fact linking with ld instead.\n\nUsing the `c_ld` setting fixes this problem. See:\nhttps://mesonbuild.com/Machine-files.html#binaries\n\nThen to use lld in tests we need `-fuse-ld\u003dlld` in the config files.\n\nSome of these options were not needed for clang 19.1.7, but were for\nclang 21.1.1. We will soon update to 21.1.1 so I have included all of\nthe required options in this PR.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e85926545e6313fd3c5c6147e82db42132c389ac\n"
    },
    {
      "commit": "f7f5a32b3e9582092d8a4511acec036a09ae8524",
      "tree": "edfa3bbcc52b77b7e87d1e0fe781e3463deb8df4",
      "parents": [
        "a6c815c69d55ec59d020abde636754d120b402ad"
      ],
      "author": {
        "name": "David Tenty",
        "email": "daltenty@ibm.com",
        "time": "Wed Aug 20 16:45:41 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 20 16:50:34 2025"
      },
      "message": "[NFC][CMake] quote ${CMAKE_SYSTEM_NAME} consistently (#154537)\n\nA CMake change included in CMake 4.0 makes `AIX` into a variable\n(similar to `APPLE`, etc.)\nhttps://gitlab.kitware.com/cmake/cmake/-/commit/ff03db6657c38c8cf992877ea66174c33d0bcb0b\n\nHowever, `${CMAKE_SYSTEM_NAME}` unfortunately also expands exactly to\n`AIX` and `if` auto-expands variable names in CMake. That means you get\na double expansion if you write:\n\n`if (${CMAKE_SYSTEM_NAME}  MATCHES \"AIX\")`\nwhich becomes:\n`if (AIX  MATCHES \"AIX\")`\nwhich is as if you wrote:\n`if (ON MATCHES \"AIX\")`\n\nYou can prevent this by quoting the expansion of \"${CMAKE_SYSTEM_NAME}\",\ndue to policy\n[CMP0054](https://cmake.org/cmake/help/latest/policy/CMP0054.html#policy:CMP0054)\nwhich is on by default in 4.0+. Most of the LLVM CMake already does\nthis, but this PR fixes the remaining cases where we do not.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 63195d3d7a8bde05590f91a38398f986bb4265b2\n"
    },
    {
      "commit": "a6c815c69d55ec59d020abde636754d120b402ad",
      "tree": "f5e7f05fe30a6a7d6fd63ec9c171d6826a88dd8e",
      "parents": [
        "00a175050b73903b2f00e460dd2c9751c4a0fd88"
      ],
      "author": {
        "name": "Konstantin Varlamov",
        "email": "varconsteq@gmail.com",
        "time": "Tue Jul 29 07:19:15 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 29 07:20:53 2025"
      },
      "message": "[libc++][hardening] Introduce assertion semantics. (#149459)\n\nAssertion semantics closely mimic C++26 Contracts evaluation semantics.\nThis brings our implementation closer in line with C++26 Library Hardening\n(one particular benefit is that using the `observe` semantic makes adopting\nhardening easier for projects).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3eee9fc2c4d1973904b1a26fa96a8c7473ef6a5e\n"
    },
    {
      "commit": "00a175050b73903b2f00e460dd2c9751c4a0fd88",
      "tree": "479f096804ad4c135d0915b3dfd10559384e3a96",
      "parents": [
        "b6f2833c99549e5725055f6e9c795ca6e226afc0"
      ],
      "author": {
        "name": "Andrew Rogers",
        "email": "andrurogerz@gmail.com",
        "time": "Thu Jul 24 10:50:16 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 24 10:52:16 2025"
      },
      "message": "[llvm] annotate interfaces in Demangle for DLL export (#147564)\n\n## Purpose\n\nThis patch is one in a series of code-mods that annotate LLVM’s public\ninterface for export. This patch annotates the `Demangle` interface with\na new `DEMANGLE_ABI` annotation, which behaves like the `LLVM_ABI`. This\nannotation currently has no meaningful impact on the LLVM build;\nhowever, it is a prerequisite to support an LLVM Windows DLL (shared\nlibrary) build.\n\n## Overview\n\n1. Add a new `Demangle/Visibility.h` header file that defines a new\n`DEMANGLE_ABI` macro. The macro resolves to the proper DLL export/import\nannotation on Windows and a \"default\" visibility annotation elsewhere.\n2. Add a new `LLVM_ENABLE_DEMANGLE_EXPORT_ANNOTATIONS ` `#cmakedefine`\nthat is used to gate the definition of `DEMANGLE_ABI`.\n3. Code-mod annotate the public `Demangle` interface using the\n[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)\ntool.\n4. Manually fix-up `#include` statements for consistency.\n5. Format the changes with `clang-format`.\n6. Add a \"stub\" version of `Visibility.h` under `libcxxabi/src/demangle`\nthat always defines `DEMANGLE_ABI` to nothing.\n7. Update the canonical `libcxxabi/src/demangle/ItaniumDemangle.h`\ninstead of the llvm copy, and run `cp-to-llvm.sh` to ensure the llvm\ncopy matches. NOTE: we rely on `ccp-to-llvm.sh` not copying\n`Visibillity.h` as is already the case for `DemangleConfig.h`.\n\n## Background\n\nThis PR follows the pattern established with the `llvm-c` changes made\nin #141701.\n\nThis effort is tracked in #109483. Additional context is provided in\n[this\ndiscourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),\nand documentation for `LLVM_ABI` and related annotations is found in the\nLLVM repo\n[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).\n\n## Validation\n\nLocal builds and tests to validate cross-platform compatibility. This\nincluded llvm, clang, and lldb on the following configurations:\n\n- Windows with MSVC\n- Windows with Clang\n- Linux with GCC\n- Linux with Clang\n- Darwin with Clang\n\n---------\n\nCo-authored-by: Louis Dionne \u003cldionne.2@gmail.com\u003e\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 04f5198e3ecb5592cec3297a782b8179f95434bf\n"
    },
    {
      "commit": "b6f2833c99549e5725055f6e9c795ca6e226afc0",
      "tree": "2078c04be763191d8d90291ad4e64f9a877ceada",
      "parents": [
        "8eeec53078a5e67346123d2be6337ab0592e6435"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Jul 15 10:43:37 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 15 10:45:47 2025"
      },
      "message": "Revert \"[libc++][hardening] Introduce assertion semantics\" (#148822)\n\nReverts llvm/llvm-project#148268\n\nIt looks like this was based on #148266, which I reverted in #148787.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 339a1f2e8f5c8f6a55e3f801e55c659bd526956c\n"
    },
    {
      "commit": "8eeec53078a5e67346123d2be6337ab0592e6435",
      "tree": "fb9d3c5fef99b1e3f0192746ce2cefaa25d204a7",
      "parents": [
        "4a1b4864252ea043cb995be635c52a0888131308"
      ],
      "author": {
        "name": "Konstantin Varlamov",
        "email": "varconsteq@gmail.com",
        "time": "Tue Jul 15 09:14:30 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 15 09:16:13 2025"
      },
      "message": "[libc++][hardening] Introduce assertion semantics (#148268)\n\nAssertion semantics closely mimic C++26 Contracts evaluation semantics.\nThis brings our implementation closer in line with C++26 Library\nHardening (one particular benefit is that using the `observe` semantic\nmakes adopting hardening easier for projects).\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7345508c6febc57eaac985ef2fb14beabdc4d461\n"
    },
    {
      "commit": "4a1b4864252ea043cb995be635c52a0888131308",
      "tree": "2078c04be763191d8d90291ad4e64f9a877ceada",
      "parents": [
        "33b29ab05db63a9b90416ae352ea09ac5ca81e11"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Wed Jul 09 07:48:50 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 09 07:51:08 2025"
      },
      "message": "[libcxxabi][libunwind] Support for using LLVM libc (#134893)\n\nThis generalizes the support added in #99287 renaming the option to\nRUNTIMES_USE_LIBC and integrating the module into libc++abi and\nlibunwind as well.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9d3b60dea7ad81f6cb0d9f2e51bb6c80c03fa2d4\n"
    },
    {
      "commit": "33b29ab05db63a9b90416ae352ea09ac5ca81e11",
      "tree": "c495c4c4a8fc12c4c5eb3e204b53b1353d4289ce",
      "parents": [
        "02570151a883c93800bd336774e26d2bad8fee0d"
      ],
      "author": {
        "name": "Raul Tambre",
        "email": "raul@tambre.ee",
        "time": "Thu Jul 03 09:07:25 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 03 09:08:37 2025"
      },
      "message": "[libcxxabi][cmake] Account for LIBCXXABI_TARGET_SUBDIR in test config (#138527)\n\nThis makes the logic and code structure match that of libc++, which handles this case (i.e. the target subdirectory being changed).\nThe `%{target}` substitution from libc++ is removed as libc++abi\u0027s config seems to be the only place it\u0027s used.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 431507db52c8836f326f40f6ef6328bbf3c7bbd4\n"
    },
    {
      "commit": "02570151a883c93800bd336774e26d2bad8fee0d",
      "tree": "ce2b2b4cbdbca97187d6bcfdc02f6b059db97783",
      "parents": [
        "e44c3c4560f1742744ef3f9fb4217a5f26ebca1b"
      ],
      "author": {
        "name": "Larry Meadows",
        "email": "lmeadows@amd.com",
        "time": "Wed Jun 25 19:06:11 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 25 19:10:46 2025"
      },
      "message": "[libc++abi] Fix C++ demangling for _BitInt type (#143466)\n\nThe front-end expects _BitInt to be available for substitution; ensure DB\u003cn\u003e is\nadded to Subs in ItaniumDemangle.h. Also add a test case to libc++abi and\nsync the files to llvm/include/llvm.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 20f56d140909a01c74e9981835373eaab6021af9\n"
    },
    {
      "commit": "e44c3c4560f1742744ef3f9fb4217a5f26ebca1b",
      "tree": "acb4553d4d09838c6ad2e6231a299d9f47db4bdd",
      "parents": [
        "3a31ad538c40ba0eb41fbfd3ec583cdef340cf72"
      ],
      "author": {
        "name": "tynasello-google",
        "email": "tynasello@google.com",
        "time": "Thu Jun 12 15:39:28 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 12 15:41:16 2025"
      },
      "message": "[libc++] Expand Android libc++ test config files (#142846)\n\nParameterize (and rename) existing libc++/libc++abi test configuration\nfiles for the Android NDK to work for both the NDK and platform.\n\nAndroid LLVM downstream seeks to test libc++ for both the NDK and\nplatform build (currently only testing the NDK), which will use almost\nidentical test configuration files. The only difference is the name of\nthe libc++ shared object used. Because of this we parameterize the\ncurrent test files (for both libc++ and libc++abi) with the existing\nLIBCXX_SHARED_OUTPUT_NAME cmake variable, and rename the file\naccordingly.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 13fe07d670e8a115929c9e595c4490ef5c75f583\n"
    },
    {
      "commit": "3a31ad538c40ba0eb41fbfd3ec583cdef340cf72",
      "tree": "53f4533816cad9829ea8af4dc17615333f8abc9f",
      "parents": [
        "aca866473883626b4622bf7354b2723fabeb0d19"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Jun 11 18:19:26 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 11 18:21:04 2025"
      },
      "message": "[libc++] Upgrade to GCC 15 (#138293)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 42c82fcc29c1c8e19b2265495a5d8f59fb5ea764\n"
    },
    {
      "commit": "aca866473883626b4622bf7354b2723fabeb0d19",
      "tree": "8a1e51e9fa86c5a5dc20865b8a1678ea46db57d5",
      "parents": [
        "95b076583f2899eb8ca51ed6ddf2e57774fcf4db"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Sat May 31 20:18:54 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat May 31 20:20:27 2025"
      },
      "message": "[libcxxabi][test] Check that all copied files are synced between llvm and libcxxabi (#142262)\n\nThis patch expands the list of files we check to all the ones that are\ncopied via `cp-to-llvm.sh`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 061ef3c6e22722c31986182e14a5b9c0a117c661\n"
    },
    {
      "commit": "95b076583f2899eb8ca51ed6ddf2e57774fcf4db",
      "tree": "3e63d34b962254826e5da9ab1712912aad192adb",
      "parents": [
        "241ef367ab2d135197377a82da5f7aee49a082f8"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Fri May 30 18:56:50 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 30 18:59:29 2025"
      },
      "message": "[ItaniumDemangle][test] Factor demangler test-cases into file and sync into LLVM (#137947)\n\nThis patch turns the `libcxxabi/test/test_demangle.pass.cpp` into gtest\nunit-tests in `llvm/unittests/Demangle`. The main motivation for this is\nhttps://github.com/llvm/llvm-project/pull/137793, where we want to\nre-use the test-cases from the ItaniumDemangler to test our OutputBuffer\nimplementation.\n\n`libcxxabi/test/test_demangle.pass.cpp` now only tests the\n`__cxa_demangle` API surface, not the underlying ItaniumDemangle\nimplementation.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f7e172da4caeab9d92f6e97501b1a2c561e616c1\n"
    },
    {
      "commit": "241ef367ab2d135197377a82da5f7aee49a082f8",
      "tree": "f15902187e66b04720e4f1fbc9156439f84705ee",
      "parents": [
        "9810fb23f6ba666f017c2b67c67de2bcac2b44bd"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue May 27 23:40:26 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 27 23:46:46 2025"
      },
      "message": "[libcxxabi] Add test to assert that ItaniumDemangle.h is the same (#140323)\n\nItaniumDemangle.h exists in both llvm/ and libcxxabi/. These files are\nsupposed to be copies of each other (minus the top two lines). This\npatch adds a test to assert that this is the case to enable tooling to\nautomatically detect this as an issue, like in #139825. This makes it\neasier for contributors unfamiliar with the duplication to make\nchanges/get appropriate reviews.\n\nIdeally we would share the file and copy it from one place to the other\nbut the ideal way to do this (based on previous discussion with libc++\nmaintainers) would be a new runtime library that clearly outlines\nrequirements, so that is left for later with the test being used as a\nstopgap. This is a relatively common approach for structures shared\nbetween compiler-rt and LLVM.\n\nThis patch does make the test reference the LLVM source directory, but\nthat should be fine given building libcxxabi is only supported through\nthe runtimes build in the monorepo meaning it should always be\navailable.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c1970c76adf70ca8ade7ac5d3bb57872e2daf1fd\n"
    },
    {
      "commit": "9810fb23f6ba666f017c2b67c67de2bcac2b44bd",
      "tree": "317324736f507d45d44e6231605021fda9ebbc2e",
      "parents": [
        "069652e9cbca8e3b5e2371057a206f91f2f710f6"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri May 16 16:26:09 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 16 16:28:31 2025"
      },
      "message": "[libcxxabi] Update ItaniumDemangle.h from LLVM (#140273)\n\n76ba29bfd8e8aaf5b0267598d18434a0d13945a2 landed changes in\nItaniumDemangle.h on the LLVM side that were not propagated over to the\nlibcxxabi side. This patch fixes that.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 23a674d2ecc428a96d28c9772cc5178eaf763863\n"
    },
    {
      "commit": "069652e9cbca8e3b5e2371057a206f91f2f710f6",
      "tree": "bfe7b17bb0693efc10198f4fd3369a26de1c1703",
      "parents": [
        "5a49db9990ee2ecee2bc7340be9756c0455bde6f"
      ],
      "author": {
        "name": "Raul Tambre",
        "email": "raul@tambre.ee",
        "time": "Mon May 12 19:59:39 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 12 20:02:50 2025"
      },
      "message": "[cmake] Normalize TARGET_SUBDIR paths (#138524)\n\nSome code paths normalize \"..\" and thus don\u0027t create the directory. But some execute in a\nshell thus requiring the directory to exist to be able to take the parent directory.\n\nThis patch normalizes all the `TARGET_SUBDIR` variables to avoid this issue.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fc3b67aee852d99bbb5d2f4670695d8246375dac\n"
    },
    {
      "commit": "5a49db9990ee2ecee2bc7340be9756c0455bde6f",
      "tree": "d12f9590cd7dfbdd0a747abe5be85af45ad84696",
      "parents": [
        "1efb5e6d7c5eee01624f3730a935285405c9cd22"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Mon May 12 19:56:07 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 12 19:58:43 2025"
      },
      "message": "[ItaniumDemangle] Add Named flag to \"pm\" operator (#136862)\n\nCompilers can generate mangled names such as `_ZN1CpmEi` which we\ncurrently fail to demangle. The OperatorInfo table only marked the `pt`\noperator as being \"named\", which prevented the others from demangling\nproperly. Removing this logic for the other kinds of member operators\nisn\u0027t causing any tests to fail.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 028f70d2524be56bb5d191ec3d7022b40bc4859b\n"
    },
    {
      "commit": "1efb5e6d7c5eee01624f3730a935285405c9cd22",
      "tree": "a06f5a1b6d9ed0dfcce9aad6ca3ef4043ce0119a",
      "parents": [
        "7ff13dd8c66d5047a3ee1e1ba26ddeb70d3d8740"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Fri May 09 18:25:14 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 09 18:27:16 2025"
      },
      "message": "[libcxx][NFC] Use macros for functions that support overriding detection (#133876)\n\nWe plan to replace the existing mechanism for overriding detection with\none that doesn\u0027t require the use of a special section as an alternative\nto llvm/llvm-project#120805 which had other downsides.\n\nThis change is a pure refactoring that lays the foundation for a\nsubsequent change that will introduce the new detection mechanism.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 25a03c1c7cec62ad7b6ed7a176df4e91ba968332\n"
    },
    {
      "commit": "7ff13dd8c66d5047a3ee1e1ba26ddeb70d3d8740",
      "tree": "916e39547491f2c36075e114e2c85e83afc6986e",
      "parents": [
        "f2a7f2987f9dcdf8b04c2d8cd4dcb186641a7c3e"
      ],
      "author": {
        "name": "Dmitry Vasilyev",
        "email": "dvassiliev@accesssoftek.com",
        "time": "Tue May 06 09:16:51 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 06 09:18:25 2025"
      },
      "message": "[ItaniumDemangle] Fix libcxxabi OutputBuffer::prepend for empty inputs (#138656)\n\nSee #138564 for details.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0dce0ea31cc9fd1d3d082b233b16f9ed123a6ed4\n"
    },
    {
      "commit": "f2a7f2987f9dcdf8b04c2d8cd4dcb186641a7c3e",
      "tree": "efff0cc4b5e7c12e6b440e95620bf6fb8bb556fe",
      "parents": [
        "6cc4c9c768689b90b0fdc8c6c3c186589e6798d1"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Fri Apr 25 21:04:31 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 25 21:15:41 2025"
      },
      "message": "[ItaniumDemangle][NFC] Add getter to ObjCProtoName::getProtocol\n\nAnd remove now redunant friend declaration.\n\nFor some reason this was failing to build on one of the MSVC bots after\nhttps://github.com/llvm/llvm-project/pull/131836:\n```\nFAILED: tools/lldb/source/Plugins/ExpressionParser/Clang/CMakeFiles/lldbPluginExpressionParserClang.dir/ClangExpressionParser.cpp.obj\n\nccache C:\\PROGRA~1\\MICROS~1\\2022\\COMMUN~1\\VC\\Tools\\MSVC\\1441~1.341\\bin\\Hostx64\\x64\\cl.exe  /nologo /TP -DCLANG_BUILD_STATIC -DGTEST_HAS_RTTI\u003d0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS\u003d0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\build\\tools\\lldb\\source\\Plugins\\ExpressionParser\\Clang -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\lldb\\source\\Plugins\\ExpressionParser\\Clang -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\lldb\\include -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\build\\tools\\lldb\\include -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\build\\include -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\llvm\\include -IC:\\Python312\\include -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\llvm\\..\\clang\\include -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\build\\tools\\lldb\\..\\clang\\include -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\lldb\\source -IC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\build\\tools\\lldb\\source -D__OPTIMIZE__ /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2  -MD   -wd4018 -wd4068 -wd4150 -wd4201 -wd4251 -wd4521 -wd4530 -wd4589  /EHs-c- /GR- -UNDEBUG -std:c++17 /showIncludes /Fotools\\lldb\\source\\Plugins\\ExpressionParser\\Clang\\CMakeFiles\\lldbPluginExpressionParserClang.dir\\ClangExpressionParser.cpp.obj /Fdtools\\lldb\\source\\Plugins\\ExpressionParser\\Clang\\CMakeFiles\\lldbPluginExpressionParserClang.dir\\lldbPluginExpressionParserClang.pdb /FS -c C:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\lldb\\source\\Plugins\\ExpressionParser\\Clang\\ClangExpressionParser.cpp\n\nC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\llvm\\include\\llvm/Demangle/ItaniumDemangle.h(667): error C2248: \u0027llvm::itanium_demangle::ObjCProtoName::Protocol\u0027: cannot access private member declared in class \u0027llvm::itanium_demangle::ObjCProtoName\u0027\n\nC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\llvm\\include\\llvm/Demangle/ItaniumDemangle.h(615): note: see declaration of \u0027llvm::itanium_demangle::ObjCProtoName::Protocol\u0027\n\nC:\\buildbot\\as-builder-10\\lldb-x-aarch64\\llvm-project\\llvm\\include\\llvm/Demangle/ItaniumDemangle.h(613): note: see declaration of \u0027llvm::itanium_demangle::ObjCProtoName\u0027\n```\n\nIt\u0027s not quite clear to me why this wasn\u0027t compiling but either way this\nis cleaner.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bd96fa778809d70e688d27cae2f7667b2aed69c0\n"
    },
    {
      "commit": "6cc4c9c768689b90b0fdc8c6c3c186589e6798d1",
      "tree": "c21a971690da9469d72699410d7bb77f2f6918bb",
      "parents": [
        "8c7a5ae5a8bbae7b0cebdb3689fcc9612c165cd9"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Wed Apr 23 14:40:04 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 23 14:45:57 2025"
      },
      "message": "[ItaniumDemangle][test] Add test-cases for ref-qualified member pointer parameters\n\nI noticed that there are test-cases that are commented out. But the\nmanglings for them seem to be impossible to generate from valid C++. I\nadded two test-cases generated from following C++ program:\n```\nstruct X {\n    int func() const \u0026\u0026 { return 5; }\n    const int \u0026\u0026func2() { return 5; }\n    const int \u0026\u0026func3(const int \u0026x) volatile { return 5; }\n};\n\nvoid f(int (X::*)() const \u0026\u0026, int const \u0026\u0026 (X::*)(),\n       int const \u0026\u0026 (X::*)(const int \u0026) volatile) {}\n\nint main() {\n    f(\u0026X::func, \u0026X::func2, \u0026X::func3);\n    return 0;\n}\n```\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 46f18b7c6febe75b2cc0095f2227d935c14f70f2\n"
    },
    {
      "commit": "8c7a5ae5a8bbae7b0cebdb3689fcc9612c165cd9",
      "tree": "860cdcca4fafa4c334435d4e1447f7d40dd5d9ae",
      "parents": [
        "f833dca6f0f489427b0b0fbdabb97026974caf4a"
      ],
      "author": {
        "name": "Michael Buch",
        "email": "michaelbuch12@gmail.com",
        "time": "Thu Apr 17 20:53:32 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 17 20:55:22 2025"
      },
      "message": "[ItaniumDemangle] Add customizable printLeft/printRight APIs to OutputBuffer (#133249)\n\nThis patch includes the necessary changes for the LLDB feature proposed\nin\nhttps://discourse.llvm.org/t/rfc-lldb-highlighting-function-names-in-lldb-backtraces/85309.\nThe TL;DR is that we want to track where certain parts of a demangled\nname begin/end so we can highlight them in backtraces.\n\nWe introduce a new `printLeft`/`printRight` API on `OutputBuffer` that a\nclient (in our case LLDB) can implement to track state while printing\nthe demangle tree. This requires redirecting all calls to to\n`printLeft`/`printRight` to the `OutputBuffer`. One quirk with the new\nAPI is that `Utility.h` would now depend on `ItaniumDemangle.h` and\nvice-versa. To keep these files header-only I made the definitions\n`inline` and implement the new APIs in `ItaniumDemangle.h` (so the\ndefinition of `Node` is available to them).\n\nAlso introduces `notifyInsertion`/`notifyDeletion` APIs that a client can override to respond to cases where the `OutputBuffer` changes arbitrary parts of the name.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 889dad7f40932ea68c9e287e62441507f4f0f261\n"
    },
    {
      "commit": "f833dca6f0f489427b0b0fbdabb97026974caf4a",
      "tree": "d915c2a39f1957d050a6fb9f1ca5906d5a553bba",
      "parents": [
        "e01dce316dd430f006c8af7d1179f83270236e24"
      ],
      "author": {
        "name": "Akira Hatanaka",
        "email": "ahatanak@gmail.com",
        "time": "Tue Apr 15 19:54:25 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 15 19:55:54 2025"
      },
      "message": "[PAC] Add support for __ptrauth type qualifier (#100830)\n\nThe qualifier allows programmer to directly control how pointers are\nsigned when they are stored in a particular variable.\n\nThe qualifier takes three arguments: the signing key, a flag specifying\nwhether address discrimination should be used, and a non-negative\ninteger that is used for additional discrimination.\n\n```\ntypedef void (*my_callback)(const void*);\nmy_callback __ptrauth(ptrauth_key_process_dependent_code, 1, 0xe27a) callback;\n```\n\nCo-Authored-By: John McCall rjmccall@apple.com\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a3283a92aea147e89d9d404fa7c8500223c7c22a\n"
    },
    {
      "commit": "e01dce316dd430f006c8af7d1179f83270236e24",
      "tree": "f70c72a0b07ae470fbad0b3a518f9043bf80c42d",
      "parents": [
        "e993f5720ebfb63f844b1bdfc3d57194f92cd55f"
      ],
      "author": {
        "name": "Mark de Wever",
        "email": "koraq@xs4all.nl",
        "time": "Fri Apr 11 16:41:50 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 11 18:05:05 2025"
      },
      "message": "[libc++] Another Apple CI quick-fix.\n\nLike #135202 this fixes another issue after the XCode update.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e15025dd50ce2f3db6c8f3f414f95a7b58ef8501\n"
    },
    {
      "commit": "e993f5720ebfb63f844b1bdfc3d57194f92cd55f",
      "tree": "174a3ff544d3d2bd153be04aecf188b51fe482aa",
      "parents": [
        "a43a953db21658334ae6583d0575984af2b15c49"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Fri Apr 11 09:24:13 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 11 09:26:34 2025"
      },
      "message": "[libcxxabi] Fix the long double demangling for PowerPC (#135332)\n\nPowerPC uses a slightly different type of floats for their 128 bit long\ndoubles, as \"double-double\", with __LDBL_MANT_DIG__ \u003d\u003d 106 rather than\n__LDBL_MANT_DIG__ \u003d\u003d 113 for IEEE 128 bit floats.\n\nThis fixes compiling libcxxabi for PowerPC after\n3b70715c13876c51542ebfe2e3f4ee908f6785cb.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c\n"
    },
    {
      "commit": "a43a953db21658334ae6583d0575984af2b15c49",
      "tree": "175d7980040aad5bec631c334c136317549b76c8",
      "parents": [
        "78140a7276d52a537615d79da1a91b8890cb8287"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Fri Apr 11 05:54:11 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 11 05:55:49 2025"
      },
      "message": "[libcxxabi] Use __LDBL_MANT_DIG__ for configuring demangling of long doubles (#134976)\n\nThis avoids needing to hardcode the mapping between architectures and\ntheir sizes of long doubles.\n\nThis fixes a case in test_demangle.pass.cpp, that previously failed like\nthis (XFAILed):\n\n    .---command stdout------------\n    | Testing 29859 symbols.\n| _ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c should be invalid\nbut is not\n| Got: 0, void test0::h\u003cfloat\u003e(char (\u0026) [(unsigned int)(sizeof (float) +\n0x0.07ff98f7ep-1022L)])\n    `-----------------------------\n    .---command stderr------------\n| Assertion failed: !passed \u0026\u0026 \"demangle did not fail\", file\nlibcxxabi/test/test_demangle.pass.cpp, line 30338\n    `-----------------------------\n\nThis testcase is defined within\n\n// Is long double fp80? (Only x87 extended double has 64-bit mantissa)\n    #define LDBL_FP80 (__LDBL_MANT_DIG__ \u003d\u003d 64)\n    ...\n    #if !LDBL_FP80\n    ...\n    #endif\n\nThe case failed on x86 architectures with an unusual size for long\ndoubles, as the test expected the demangler to not be able to demangle\nan 80 bit long double (based on the `__LDBL_MANT_DIG__ \u003d\u003d 64` condition\nin the test). However as the libcxxabi implementation was hardcoded to\ndemangle 80 bit long doubles on x86_64 regardless of the actual size,\nthis test failed (by unexpectedly being able to demangle it).\n\nBy configuring libcxxabi\u0027s demangling of long doubles to match what the\ncompiler specifies, we no longer hit the expected failures in the\ntest_demangle.pass.cpp test on Android on x86.\n\nThis makes libcxxabi require a GCC-compatible compiler that defines\nnonstandard defines like `__LDBL_MANT_DIG__`, but I presume that\u0027s\nalready essentially required anyway.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3b70715c13876c51542ebfe2e3f4ee908f6785cb\n"
    },
    {
      "commit": "78140a7276d52a537615d79da1a91b8890cb8287",
      "tree": "a7c28c83298d937f13c526335b1e8139e40f74be",
      "parents": [
        "94c5d7a8edc09f0680aee57548c0b5d400c2840d"
      ],
      "author": {
        "name": "A. Jiang",
        "email": "de34@live.cn",
        "time": "Tue Apr 08 23:40:01 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 08 23:46:17 2025"
      },
      "message": "[libc++] P3247R2: Deprecate `is_trivial(_v)` (#130573)\n\nRequirements on character-like types are updated unconditionally,\nbecause `basic_string` does requires the default-constructibility. It\nmight be possible to make `basic_string_view` support classes with\nnon-public trivial default constructor, but this doesn\u0027t seem sensible.\n\nlibcxxabi\u0027s `ItaniumDemangle.h` is also updated to avoid deprecated\nfeatures.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ab95005a05232030a16c2da7a8de867c2ded5f88\n"
    },
    {
      "commit": "94c5d7a8edc09f0680aee57548c0b5d400c2840d",
      "tree": "80d288bbcee8ed8849891f9ee08b7dcadf228dab",
      "parents": [
        "634228a732a1d9ae1a6d459556e8fc58707cf961"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@google.com",
        "time": "Wed Feb 12 13:18:02 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 12 13:20:10 2025"
      },
      "message": "[libc++abi] Add a missing include for abort() (#126865)\n\nThis is to fix a build error when we use Clang modules in Chromium.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 75dd4119b2798a53241089f77922a2e13ead6b94\n"
    },
    {
      "commit": "634228a732a1d9ae1a6d459556e8fc58707cf961",
      "tree": "cf1ea946ed540066ee8d56724355ed08c82a81c7",
      "parents": [
        "4e1ccc2df1ca28b1f7d61a4cad67d8eb7fa6590a"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Jan 28 21:44:57 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 28 21:51:16 2025"
      },
      "message": "[libc++abi] Make once_flag constinit in cxa_exception_storage (#124627)\n\nThis makes it clearer that initialization of this global variable is\ntaking place at compile-time, reducing the likelihood of static\ninitialization order fiasco.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a06c89387621b0a040e6203e7f1a2d8243f5be33\n"
    },
    {
      "commit": "4e1ccc2df1ca28b1f7d61a4cad67d8eb7fa6590a",
      "tree": "87d31ed0cb70d191ed0f44850b772712323ca650",
      "parents": [
        "7e0f3a8471cb7f6881d0d4ff17eacb0ab9d0b6b2"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Tue Jan 28 06:26:15 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 28 06:31:51 2025"
      },
      "message": "Revert \"[libcxx] Use alias for detecting overriden function\" (#124431)\n\nReverts llvm/llvm-project#120805\n\nThis change while desirable has two issues we discovered:\n\n- It is incompatible with `-funique-internal-linkage-names`, see\nhttps://github.com/llvm/llvm-project/pull/120805#discussion_r1913709817\n- It is incompatible with `-fvisibility-global-new-delete\u003dforce-hidden`,\nsee\nhttps://github.com/llvm/llvm-project/issues/123224#issuecomment-2607963878\n\nWe were hoping to address both of these issues with\nhttps://github.com/llvm/llvm-project/pull/122983, but that change has\nother issues we haven\u0027t yet managed to resolve. For now, we have decided\nto revert the change to avoid shipping a broken feature in LLVM 20, and\nwe plan to follow up with a new approach post branch.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4167ea2cb082a2acb00b8b1dc09aa780dc0e3110\n"
    },
    {
      "commit": "7e0f3a8471cb7f6881d0d4ff17eacb0ab9d0b6b2",
      "tree": "cb8a20fd08ea728f9fb854b099abae557ed90ccf",
      "parents": [
        "8205ccf0f23545ebcd8846363ea1d29e77917a22"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Thu Jan 23 09:26:02 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 23 09:29:29 2025"
      },
      "message": "[libc++abi] Remove support for Android 4 and older (#124054)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9fd92634749c75b39be829c22240567ccda3ffce\n"
    },
    {
      "commit": "8205ccf0f23545ebcd8846363ea1d29e77917a22",
      "tree": "ae5ad0d6677cb9ed678513a80529bac39db2ec39",
      "parents": [
        "b46909de65c197a9650d51935811141dde9e0e40"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Jan 14 21:21:03 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 14 21:27:03 2025"
      },
      "message": "[libc++] Simplify when the sized global deallocations overloads are available (#114667)\n\nThere doesn\u0027t seem to be much benefit in always providing declarations\nfor the sized deallocations from C++14 onwards if the user explicitly\npassed `-fno-sized-deallocation` to disable them. This patch simplifies\nthe declarations to be available exactly when the compiler expects sized\ndeallocation functions to be available.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ef804d8f9b4ef4ff39e873d5910e94887519bdb6\n"
    },
    {
      "commit": "b46909de65c197a9650d51935811141dde9e0e40",
      "tree": "7d4351d66b1513a71a1748e29b10eda46d1015de",
      "parents": [
        "b393480eb978e519c707753753c6485b8dcbadc4"
      ],
      "author": {
        "name": "Kirill Stoimenov",
        "email": "kstoimenov@google.com",
        "time": "Tue Jan 14 18:23:07 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 14 18:31:52 2025"
      },
      "message": "Revert \"[libc++] Stop copying headers to the build directory (#115380)\"\n\nThis reverts commit 428c8767ae997b0f726c0b40160ea8172551babf.\n\nBreaks sanitizer build: https://lab.llvm.org/buildbot/#/builders/51/builds/9056\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 576b53801fc3d721602ae0d8377af9950f356000\n"
    },
    {
      "commit": "b393480eb978e519c707753753c6485b8dcbadc4",
      "tree": "13b042ccdd461fdabd0667241ae7c5a51eb02055",
      "parents": [
        "cbada99a33f015cb8333d63a88ff0c10cbbc6f38"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Tue Jan 14 13:40:04 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 14 13:45:54 2025"
      },
      "message": "[libc++] Stop copying headers to the build directory (#115380)\n\nThis was needed before https://github.com/llvm/llvm-project/pull/115077\nsince the compiler-rt test build made assumptions about the build\nlayout of libc++ and libc++abi, but now they link against a local\ninstallation of these libraries so we no longer need this workaround.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 428c8767ae997b0f726c0b40160ea8172551babf\n"
    },
    {
      "commit": "cbada99a33f015cb8333d63a88ff0c10cbbc6f38",
      "tree": "7d4351d66b1513a71a1748e29b10eda46d1015de",
      "parents": [
        "7681005c6233e8a21b97e24c1a3c5c6979927d5a"
      ],
      "author": {
        "name": "Fraser Cormack",
        "email": "fraser@codeplay.com",
        "time": "Mon Jan 13 21:15:40 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jan 13 21:17:54 2025"
      },
      "message": "[libc++abi][ItaniumDemangle] Demangle DF16b as std::bfloat16_t (#120109)\n\nThis mangling is official in the Itanium C++ ABI specification and is\nalready supported by clang.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a100fd8cbd3dad3846a6212d97279ca23db85c75\n"
    },
    {
      "commit": "7681005c6233e8a21b97e24c1a3c5c6979927d5a",
      "tree": "804f344c8a516cd0686b45ddd0e7dce4e5948ee7",
      "parents": [
        "83dfa1f5bfce32d5f75695542468e37ead8163b8"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Tue Jan 07 21:45:48 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 07 21:51:55 2025"
      },
      "message": "[libcxx] Use alias for detecting overriden function (#120805)\n\nThis mechanism is preferable in environments like embedded since it\ndoesn\u0027t require special handling of the custom section.\n\nThis is a reland of https://github.com/llvm/llvm-project/pull/114961\nwhich addresses the issue reported by downstream users. Specifically,\nthe two differences from the previous version are:\n\n* The internal `symbol##_impl__` symbol in the Mach-O implementation is\n  annotated with `__attribute__((used))` to prevent LTO from deleting it\n  which we\u0027ve seen in the previous version.\n* `__is_function_overridden` is marked as `inline` so these symbols are\n  placed in a COMDAT (or fully inlined) to avoid duplicate symbol errors\n  which we\u0027ve seen in the previous version.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 841895543edcf98bd16027c6b85fe7c6419a4566\n"
    },
    {
      "commit": "83dfa1f5bfce32d5f75695542468e37ead8163b8",
      "tree": "520163b8991ae3b241f47d3fa0bb1ab0567cd4b9",
      "parents": [
        "02cb51229253c5fc0a061bdd0ebd572d7e127452"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Thu Dec 19 20:52:19 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 19 20:55:29 2024"
      },
      "message": "Revert \"[libcxx] Use alias for detecting overriden function (#114961)\"\n\nThis reverts commit 62bd10f7d18ca6f544286767cae2c9026d493888.\nBreaks building with -flto\u003dthin, see\nhttps://github.com/llvm/llvm-project/pull/114961#issuecomment-2555754056\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8dfae0c462e9558df77c83c97d89b4b83ed1baff\n"
    },
    {
      "commit": "02cb51229253c5fc0a061bdd0ebd572d7e127452",
      "tree": "804f344c8a516cd0686b45ddd0e7dce4e5948ee7",
      "parents": [
        "77e59bec0fb93d9733378e1b6188bae0efdbc32e"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Tue Dec 17 16:16:26 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 17 16:21:37 2024"
      },
      "message": "[libcxx] Use alias for detecting overriden function (#114961)\n\nThis mechanism is preferable in environments like embedded since it\ndoesn\u0027t require special handling of the custom section.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 62bd10f7d18ca6f544286767cae2c9026d493888\n"
    },
    {
      "commit": "77e59bec0fb93d9733378e1b6188bae0efdbc32e",
      "tree": "520163b8991ae3b241f47d3fa0bb1ab0567cd4b9",
      "parents": [
        "574b92bc1d7aa586ed30e4e9923041d1ec495017"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Tue Dec 17 10:29:16 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 17 10:31:00 2024"
      },
      "message": "[libc++] Granularize \u003cnew\u003e includes (#119964)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 59890c13343af9e308281b3c76bac425087f4f8a\n"
    },
    {
      "commit": "574b92bc1d7aa586ed30e4e9923041d1ec495017",
      "tree": "692b6935c46bef5cbfa1f0f046647e12d5409f6e",
      "parents": [
        "42d3258086a8849a35923096295db17628c4a1d2"
      ],
      "author": {
        "name": "Hubert Tong",
        "email": "hubert.reinterpretcast@gmail.com",
        "time": "Sun Dec 15 00:37:15 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Dec 15 01:20:49 2024"
      },
      "message": "NFC: clang-format test_demangle.pass.cpp but keep test \"lines\"\n\nAdd clang-format on/off around test \"lines\"\n\nRun clang-format without breaking string literals:\nclang-format --style\u003d\u0027{BasedOnStyle: llvm, BreakStringLiterals: false}\u0027\n-i test_demangle.pass.cpp\n\nAdd clang-format on/off on fp_literal_cases\n\nFixups: Split UNSUPPORTED to next line; xfail_cases trailing comma\n\nReplace physical tab\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d33bf2e9df578ff7e44fd22504d6ad5a122b7ee6\n"
    },
    {
      "commit": "42d3258086a8849a35923096295db17628c4a1d2",
      "tree": "5939ddcae3dce5f628feb24f1c939a702078e5fe",
      "parents": [
        "a6362b2727ba0eea15d024bfac7e1dc8e79db009"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Dec 13 19:17:56 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Dec 13 19:21:07 2024"
      },
      "message": "[libc++] Granularize the \u003cnew\u003e header (#119270)\n\nThis disentangles the code which previously had a mix of many #ifdefs, a\nnon-versioned namespace and a versioned namespace. It also makes it\nclearer which parts of \u003cnew\u003e are implemented on Windows by including \u003cnew.h\u003e.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9474e09459189fbed30f329a669f9c14979c5367\n"
    },
    {
      "commit": "a6362b2727ba0eea15d024bfac7e1dc8e79db009",
      "tree": "607b2ac2c1d140910d4d84493981088a6716369a",
      "parents": [
        "d82e9c4d06c1ec29dc3421e738aecb7514cc4bfc"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Fri Dec 13 02:03:12 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Dec 13 02:06:35 2024"
      },
      "message": "[libc++abi] Build cxxabi with sanitizers (#119612)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3de5e8b23f5c145b13d930eb5019566d3a6f88d5\n"
    },
    {
      "commit": "d82e9c4d06c1ec29dc3421e738aecb7514cc4bfc",
      "tree": "92127f7317a3a2b13777cbd545f8c5478ae3b46a",
      "parents": [
        "9e9b66643f99766ece50561f4bf83d17c2f28972"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Wed Dec 11 20:51:10 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 11 20:54:30 2024"
      },
      "message": "[libc++abi] Don\u0027t do pointer arithmetic on nullptr (#119520)\n\n`nullptr + offset` is possible after `!is_virtual` branch.\n\nDetected with check-cxxabi on configured with:\n```\ncmake -DLLVM_APPEND_VC_REV\u003dOFF -GNinja \\\n  -DCMAKE_BUILD_TYPE\u003dRelease \\\n  -DLLVM_CCACHE_BUILD\u003dON \\\n  -DLLVM_USE_LINKER\u003dlld \\\n  -DLLVM_ENABLE_ASSERTIONS\u003dON \\\n  -DCMAKE_C_COMPILER\u003dclang \\\n  -DCMAKE_CXX_COMPILER\u003dclang++ \\\n  -DLIBCXXABI_USE_LLVM_UNWINDER\u003dOFF \\\n  -DCMAKE_INSTALL_PREFIX\u003d/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_install_ubsan \\\n  \u0027-DLLVM_ENABLE_RUNTIMES\u003dlibcxx;libcxxabi;libunwind\u0027 \\\n  -DLIBCXX_TEST_PARAMS\u003dlong_tests\u003dFalse \\\n  -DLIBCXX_INCLUDE_BENCHMARKS\u003dOFF \\\n  -DLLVM_USE_SANITIZER\u003dUndefined \\\n  \u0027-DCMAKE_C_FLAGS\u003d-fsanitize\u003dundefined -fno-sanitize-recover\u003dall   -fno-sanitize\u003dvptr\u0027 \\\n  \u0027-DCMAKE_CXX_FLAGS\u003d-fsanitize\u003dundefined -fno-sanitize-recover\u003dall   -fno-sanitize\u003dvptr\u0027 \\\n  /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/../runtimes\n\n********************\nFailed Tests (2):\n  llvm-libc++abi-shared.cfg.in :: catch_null_pointer_to_object_pr64953.pass.cpp\n  llvm-libc++abi-shared.cfg.in :: catch_ptr_02.pass.cpp\n```\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a54fce89fc8aff36c50e3a0ea2f92e1ab7093cf8\n"
    },
    {
      "commit": "9e9b66643f99766ece50561f4bf83d17c2f28972",
      "tree": "90af13af08440859446f8236b28f054cbcb8d30e",
      "parents": [
        "176443fe7a8878e52a78fc0f49a46ce0e8053706"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Dec 11 17:49:06 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 11 17:50:40 2024"
      },
      "message": "[libc++abi] Provide an explicit error when trying to build for MSVC (#119370)\n\nFixes #119322\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b0b546d44777eb1fa25995384876bd14a006a929\n"
    },
    {
      "commit": "176443fe7a8878e52a78fc0f49a46ce0e8053706",
      "tree": "f362ee6fa47002f780ae59e79c17d900991258d1",
      "parents": [
        "bb3dd0773537cc6906e2cbb95b33a24869d7e67b"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Wed Dec 11 06:02:32 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 11 06:05:43 2024"
      },
      "message": "[libc++abi] Don\u0027t leak in test (#119505)\n\nTrying to re-enable a test on bots\n\nhttps://github.com/llvm/llvm-zorg/blob/bb695735dba75e1a5dced13e836f4f46de464bac/zorg/buildbot/builders/sanitizers/buildbot_functions.sh#L443\n\nWhen we reach `terminate()` `exc` pointer is not\non the stack, so lsan correctly reports a leak.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a4538cdcee75b78b7165dda05c9aa7718c4837c4\n"
    },
    {
      "commit": "bb3dd0773537cc6906e2cbb95b33a24869d7e67b",
      "tree": "28ed23e46332a4d778038be5b4bf4e1607f9c19a",
      "parents": [
        "61ad6ef5b6c7ac8328370742323f171dd42ae7c8"
      ],
      "author": {
        "name": "Hubert Tong",
        "email": "hubert.reinterpretcast@gmail.com",
        "time": "Wed Dec 11 00:24:15 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 11 00:26:36 2024"
      },
      "message": "[libc++abi] Enable demangling of `cp` expression production (#114882)\n\nSee itanium-cxx-abi/cxx-abi#196\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 918d4558b0bad366ecadd411ed48cf64728c68d7\n"
    },
    {
      "commit": "61ad6ef5b6c7ac8328370742323f171dd42ae7c8",
      "tree": "b365e70e2a81437f85a9ffd93063480193bdddc1",
      "parents": [
        "1bf83572723e3cb921345f9f80d1e462c4b9745b"
      ],
      "author": {
        "name": "Paul Kirth",
        "email": "paulkirth@google.com",
        "time": "Mon Dec 09 17:19:51 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 09 17:21:44 2024"
      },
      "message": "[libcxxabi] Always link against libzircon for Fuchsia targets (#115910)\n\nWhen using LTO, the deplibs mechanism is insufficient to ensure that\nlibzircon is always brought into the link prior to LTO code generation.\nThe general problem is discussed in depth in\nhttps://github.com/llvm/llvm-project/issues/56070\n\nTo work around this, we can just provide libzircon as a link input.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fac9fcd55245479d040dde3f5e9f4e169c30a0ec\n"
    },
    {
      "commit": "1bf83572723e3cb921345f9f80d1e462c4b9745b",
      "tree": "5ac72f06266882723fe5c62de9ba916eaf5780fb",
      "parents": [
        "6c4fa00e4becc30085cbc8b44c2764ef307daae2"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Dec 06 20:30:02 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Dec 06 20:35:18 2024"
      },
      "message": "[libc++abi] Fix broken check for _LIBCPP_HAS_THREAD_API_PTHREAD (#118999)\n\nWe were still using the old `defined(_LIBCPP_HAS_THREAD_API_PTHREAD)`\ncheck, which is always true.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b23fc2c5bf92ae3bcd2ac4c784ead0ffba159f5a\n"
    },
    {
      "commit": "6c4fa00e4becc30085cbc8b44c2764ef307daae2",
      "tree": "59b4064f42b13eedaa8f53d19b5279f474b97245",
      "parents": [
        "cec7f478354a8c8599f264ed8bb6043b5468f72d"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Nov 13 10:57:16 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 13 11:00:57 2024"
      },
      "message": "[libc++] Make variables in templates inline (#115785)\n\nThe variables are all `constexpr`, which implies `inline`. Since they\naren\u0027t `constexpr` in C++03 they\u0027re also not `inline` there. Because of\nthat we define them out-of-line currently. Instead we can use the C++17\nextension of `inline` variables, which results in the same weak\ndefinitions of the variables but without having all the boilerplate.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b69ddbc62838f23ace237c206676b1ed1c882638\n"
    },
    {
      "commit": "cec7f478354a8c8599f264ed8bb6043b5468f72d",
      "tree": "cfdc8bf9a1d0c59a5a20ef866e8b23fa8a688212",
      "parents": [
        "8ba0a768d6b26b72b0a695fc1806ba124c1b9783"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Tue Nov 12 00:20:44 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 12 00:24:53 2024"
      },
      "message": "Revert \"Reapply \"[libc++abi] Stop copying headers to the build directory\"\" (#115793)\n\nReverts llvm/llvm-project#115379\n\nReverting since this broke the Fuchsia builders.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eaed095a566cf75aa7df208defeb101ce1a6ed96\n"
    },
    {
      "commit": "8ba0a768d6b26b72b0a695fc1806ba124c1b9783",
      "tree": "6bfcfdccc9e7b8e3f30b982f2d8952d805477046",
      "parents": [
        "3fdba6f55038d5c1df4cc9664a7fcea751add8fa"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Thu Nov 07 22:50:10 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 07 22:53:32 2024"
      },
      "message": "Reapply \"[libc++abi] Stop copying headers to the build directory\"\n\nThis was needed before https://github.com/llvm/llvm-project/pull/115077\nsince the compiler-rt test build made assumptions about the build\nlayout of libc++ and libc++abi, but now they link against a local\ninstallation of these libraries so we no longer need this workaround.\n\nThe last attempt at landing this was reverted due to buildbot failures\nwhich should be fixed by https://github.com/llvm/llvm-zorg/pull/299.\n\nPull Request: https://github.com/llvm/llvm-project/pull/115379\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fd799add2186356dc19e81106a1428a2edf7c20b\n"
    },
    {
      "commit": "3fdba6f55038d5c1df4cc9664a7fcea751add8fa",
      "tree": "cfdc8bf9a1d0c59a5a20ef866e8b23fa8a688212",
      "parents": [
        "19fbdf1d2be69f5ec1cf92419766b82217002e9d"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Nov 07 14:07:50 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 07 14:10:53 2024"
      },
      "message": "[libc++] Unify the benchmarks with the test suite (#101399)\n\nInstead of building the benchmarks separately via CMake and running them\nseparately from the test suite, this patch merges the benchmarks into\nthe test suite and handles both uniformly.\n\nAs a result:\n- It is now possible to run individual benchmarks like we run tests\n  (e.g. using libcxx-lit), which is a huge quality-of-life improvement.\n\n- The benchmarks will be run under exactly the same configuration as\n  the rest of the tests, which is a nice simplification. This does\n  mean that one has to be careful to enable the desired optimization\n  flags when running benchmarks, but that is easy with e.g.\n  `libcxx-lit \u003c...\u003e --param optimization\u003dspeed`.\n\n- Benchmarks can use the same annotations as the rest of the test\n  suite, such as `// UNSUPPORTED` \u0026 friends.\n\nWhen running the tests via `check-cxx`, we only compile the benchmarks\nbecause running them would be too time consuming. This introduces a bit\nof complexity in the testing setup, and instead it would be better to\nallow passing a --dry-run flag to GoogleBenchmark executables, which is\nthe topic of https://github.com/google/benchmark/issues/1827.\n\nI am not really satisfied with the layering violation of adding the\n%{benchmark_flags} substitution to cmake-bridge, however I believe\nthis can be improved in the future.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e236a52a88956968f318fb908c584e5cb80b5b03\n"
    },
    {
      "commit": "19fbdf1d2be69f5ec1cf92419766b82217002e9d",
      "tree": "c7184a1a313166e151a21c77d48beadcf6769aad",
      "parents": [
        "171c504c4bc5de00f5f17dc73aadba9d81740a3c"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Wed Nov 06 23:07:30 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 06 23:11:34 2024"
      },
      "message": "Revert \"[libc++abi] Stop copying headers to the build directory\" (#115232)\n\nReverts llvm/llvm-project#115086\n\n2-stage sanitizer build is not happy:\nhttps://lab.llvm.org/buildbot/#/builders/25/builds/3915\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d08772b1512f630240d8b7feaab749e659d3fce8\n"
    },
    {
      "commit": "171c504c4bc5de00f5f17dc73aadba9d81740a3c",
      "tree": "b1d5409225acb9ec2daf0f78071f570af09d1065",
      "parents": [
        "b1a4d63356fd5c4d54aa91bc24aafe9ca55cb3e4"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Wed Nov 06 19:59:37 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 06 20:00:40 2024"
      },
      "message": "[libc++abi] Stop copying headers to the build directory\n\nThis was needed before https://github.com/llvm/llvm-project/pull/115077\nsince the compiler-rt test build made assumptions about the build\nlayout of libc++ and libc++abi, but now they link against a local\ninstallation of these libraries so we no longer need this workaround.\n\nReviewed By: ldionne\n\nPull Request: https://github.com/llvm/llvm-project/pull/115086\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5be02d7a03c6d40d4d71264936d4aab98e4186aa\n"
    },
    {
      "commit": "b1a4d63356fd5c4d54aa91bc24aafe9ca55cb3e4",
      "tree": "c7184a1a313166e151a21c77d48beadcf6769aad",
      "parents": [
        "53f8886e48b9c53ebde7d8446c0dca00956e807e"
      ],
      "author": {
        "name": "Hubert Tong",
        "email": "hstong@ca.ibm.com",
        "time": "Sun Nov 03 03:05:46 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 04 22:20:59 2024"
      },
      "message": "NFC: Demangler README.txt: Fix LLVM unittests path\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e9de53875b9005233f07a68d80e144af8607893b\n"
    },
    {
      "commit": "53f8886e48b9c53ebde7d8446c0dca00956e807e",
      "tree": "092780fbcfdd080dc8af07790a746ee3b322ee61",
      "parents": [
        "191356bd9953e40cf506d069c9e9e13ef7f424b7"
      ],
      "author": {
        "name": "c8ef",
        "email": "c8ef@outlook.com",
        "time": "Mon Nov 04 16:18:31 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 04 16:21:23 2024"
      },
      "message": "[demangler] Enhance demangling in llvm-cxxfilt for fixed-point types. (#114257)\n\nThis patch adds support for fixed-point type in demanger.\n\nCloses #114090.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7da9da0b1902fe04985753d20dd37a9edd05dd41\n"
    },
    {
      "commit": "191356bd9953e40cf506d069c9e9e13ef7f424b7",
      "tree": "c936ba1d27acc2cba01f47d5d2d026794357aa5d",
      "parents": [
        "88c655feba660bbd918905eee800d2d6ae4af8d1"
      ],
      "author": {
        "name": "Ryan Mansfield",
        "email": "ryan_mansfield@apple.com",
        "time": "Thu Oct 31 15:37:03 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 31 15:40:25 2024"
      },
      "message": "[libc++abi] Fix user prompt in cp-to-llvm.sh. (#114268)\n\nUser prompt wasn\u0027t listing the files to be copied.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: df9301ed5831f4c9dd531cbc9dd0d54de3210419\n"
    },
    {
      "commit": "88c655feba660bbd918905eee800d2d6ae4af8d1",
      "tree": "913a7d8324ff01c6df8288ab9676c473160b21c7",
      "parents": [
        "285aeec3f1fff6c413c7c986762c345a47ef966f"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Thu Oct 31 01:20:10 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 31 01:26:11 2024"
      },
      "message": "[libc++] Granularize \u003ccstddef\u003e includes (#108696)\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e99c4906e44ae3f921fa05356909d006cda8d954\n"
    },
    {
      "commit": "285aeec3f1fff6c413c7c986762c345a47ef966f",
      "tree": "391593b45ef18dff8abbe6624c47ac6c69327c79",
      "parents": [
        "a99b3ce4bc217e3c2eac35be3d66817ca901c230"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Fri Oct 25 06:12:32 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 25 06:15:50 2024"
      },
      "message": "Revert \"[runtimes] Probe for -nostdlib++ and -nostdinc++ with the C compiler\" (#113653)\n\nReverts llvm/llvm-project#108357\n\nBreaks https://lab.llvm.org/buildbot/#/builders/164/builds/3908 and\nsimilar bots\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 240e4780680f0d6a760be1b9ea432f410424b3a5\n"
    },
    {
      "commit": "a99b3ce4bc217e3c2eac35be3d66817ca901c230",
      "tree": "0423438aeef1a8bc23b73a45188be066898495ee",
      "parents": [
        "5bfc713304c37a1960f6b0cee1315798eb0886ee"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Thu Oct 24 20:46:04 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 24 20:50:44 2024"
      },
      "message": "[runtimes] Probe for -nostdlib++ and -nostdinc++ with the C compiler (#108357)\n\nWhile these flags semantically are relevant only for C++, we do add them\nto CMAKE_REQUIRED_FLAGS if they are detected. All flags in that variable\nare used both when testing compilation of C and C++ (and for detecting\nlibraries, which uses the C compiler driver).\n\nTherefore, to be sure we safely can add the flags to\nCMAKE_REQUIRED_FLAGS, test for the option with the C language.\n\nThis should fix compilation with GCC; newer versions of GCC do support\nthe -nostdlib++ option, but it\u0027s only supported by the C++ compiler\ndriver, not the C driver. (However, many builds of GCC also do accept\nthe option with the C driver, if GCC was compiled with Ada support\nenabled, see [1]. That\u0027s why this issue isn\u0027t noticed in all\nconfigurations with GCC.)\n\nClang does support these options in both C and C++ driver modes.\n\nThis should fix #90332.\n\n[1]\nhttps://github.com/llvm/llvm-project/issues/90332#issuecomment-2325099254\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 75d0281bc81f0040c24d15bdf9c5cc46e9237224\n"
    },
    {
      "commit": "5bfc713304c37a1960f6b0cee1315798eb0886ee",
      "tree": "391593b45ef18dff8abbe6624c47ac6c69327c79",
      "parents": [
        "8418c514007cb3dc954692e684ce0e5ff2189eb5"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 17 20:17:40 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 17 20:20:42 2024"
      },
      "message": "[runtimes] Improve the documentation for LIBCXX_ADDITIONAL_COMPILE_FLAGS (#112733)\n\nThis clarifies how that option is meant to be used to avoid confusion.\nAs a drive-by, also fix an incorrect usage in the recently-added GPU\ncaches.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e67442486d5efd48235f62b438557bc95193fc48\n"
    },
    {
      "commit": "8418c514007cb3dc954692e684ce0e5ff2189eb5",
      "tree": "01cbad89049d881b70ec7e3e45ac5c89062e4c9f",
      "parents": [
        "9a1d90c3b412d5ebeb97a6e33d98e1d0dd923221"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 17 20:15:33 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 17 20:20:34 2024"
      },
      "message": "[runtimes] Avoid cluttering the top-level build directory with test artifacts (#112717)\n\nInstead of placing artifacts for testing the runtimes at \u003cbuild\u003e/test,\nplace those artifacts at \u003cbuild\u003e/\u003cproject\u003e/test. This prevents\ncluttering the build directory with the runtimes\u0027 test artifacts for\neveryone else.\n\nAs a drive-by, remove LIBCXX_BINARY_INCLUDE_DIR which wasn\u0027t used\nanymore.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8c77f4c5087ac5a8e5dc08e472cf06897689a68b\n"
    },
    {
      "commit": "9a1d90c3b412d5ebeb97a6e33d98e1d0dd923221",
      "tree": "ba57167994df97ab4b17242b7b534f652324d986",
      "parents": [
        "af20f2470f4c11a2433076fd58d2b35804790ea1"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Sat Oct 12 07:49:52 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 12 07:55:51 2024"
      },
      "message": "[libc++][RFC] Always define internal feature test macros (#89178)\n\nCurrently, the library-internal feature test macros are only defined if\nthe feature is not available, and always have the prefix\n`_LIBCPP_HAS_NO_`. This patch changes that, so that they are always\ndefined and have the prefix `_LIBCPP_HAS_` instead. This changes the\ncanonical use of these macros to `#if _LIBCPP_HAS_FEATURE`, which means\nthat using an undefined macro (e.g. due to a missing include) is\ndiagnosed now. While this is rather unlikely currently, a similar change\nin `\u003c__configuration/availability.h\u003e` caught a few bugs. This also\nimproves readability, since it removes the double-negation of `#ifndef\n_LIBCPP_HAS_NO_FEATURE`.\n\nThe current patch only touches the macros defined in `\u003c__config\u003e`. If\npeople are happy with this approach, I\u0027ll make a follow-up PR to also\nchange the macros defined in `\u003c__config_site\u003e`.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ba87515fea90b5d55836a8e3be63a7e683ce299d\n"
    },
    {
      "commit": "af20f2470f4c11a2433076fd58d2b35804790ea1",
      "tree": "957739257ecbb3a9e30fb790596441a0e45f1072",
      "parents": [
        "406418bc7b12e557007950b60eba07bc37f9e801"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Fri Oct 11 13:27:22 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 11 13:31:23 2024"
      },
      "message": "[libc++abi] Remove unused LIBCXXABI_LIBCXX_INCLUDES CMake option (#111824)\n\nThis hasn\u0027t been used for several years, so it\u0027s effectively dead code\nat this point.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 923fef903853d61ccef39e8ac770693bf145207f\n"
    },
    {
      "commit": "406418bc7b12e557007950b60eba07bc37f9e801",
      "tree": "5c73c827e06176c66523860b36f3375c053f5605",
      "parents": [
        "3f33c98210331de22a314a8e2b8964eb3853e65d"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 10 17:13:17 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 10 17:15:24 2024"
      },
      "message": "[runtimes][NFC] Reindent CMake files (#111821)\n\nThis is a purely mechanical commit for fixing the indentation of the\nruntimes\u0027 CMakeLists files after #80007. That PR didn\u0027t update the\nindentation in order to make the diff easier to review and for merge\nconflicts to be easier to resolve (for downstream changes).\n\nThis doesn\u0027t change any code, it only reindents it.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 43ba97e7079525a9686e15a6963508dfbd493f81\n"
    },
    {
      "commit": "3f33c98210331de22a314a8e2b8964eb3853e65d",
      "tree": "21d1b8437ce4456779fcce74e832f6fb8c36396b",
      "parents": [
        "ac012d5ff512efd0fec552494fc91b308d99c57b"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 10 12:00:01 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 10 12:04:23 2024"
      },
      "message": "[runtimes] Always define cxx_shared, cxx_static \u0026 other targets (#80007)\n\nThis patch always defines the cxx_shared, cxx_static \u0026 other top-level\ntargets. However, they are marked as EXCLUDE_FROM_ALL when we don\u0027t want\nto build them. Simply declaring the targets should be of no harm, and it\nallows other projects to mention these targets regardless of whether\nthey end up being built or not.\n\nThis patch basically moves the definition of e.g. cxx_shared out of the\n`if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL\nconditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does\nthe same for libunwind and libc++abi targets. I purposefully avoided to\nreformat the files (which now has inconsistent indentation) because I\nwanted to keep the diff minimal, and I know this is an area of the code\nwhere folks may have downstream diffs. I will re-indent the code\nseparately once this patch lands.\n\nThis is a reapplication of 79ee0342dbf0, which was reverted in\na3539090884c because it broke the TSAN and the Fuchsia builds.\n\nResolves #77654\n\nDifferential Revision: https://reviews.llvm.org/D134221\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 917ada35cd937ad4104dff89c48398bd796ba6b7\n"
    },
    {
      "commit": "ac012d5ff512efd0fec552494fc91b308d99c57b",
      "tree": "541510fea08223a96d51ebc2b9b16a35cc1b2814",
      "parents": [
        "975ef56df0f09388b3012b51e8c57bb1fd4a57c0"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Wed Oct 09 19:18:53 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 09 19:20:24 2024"
      },
      "message": "[libc++abi] Rename abort_message to __abort_message (#111413)\n\nThis is an internal API and the name should reflect that.\n\nThis is a reland of #108887.\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e0737174f944e6da2d3052e57de04ad93503956b\n"
    },
    {
      "commit": "975ef56df0f09388b3012b51e8c57bb1fd4a57c0",
      "tree": "c55b4f95763e694cd217c55bf9cd488be53767c6",
      "parents": [
        "829f51051ce2b51be14f7853cca71be98083df6b"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Oct 09 12:46:59 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 09 12:50:56 2024"
      },
      "message": "[libc++] Fix broken configuration system-libcxxabi on Apple (#110920)\n\nOn Apple platforms, using system-libcxxabi as an ABI library wouldn\u0027t\nwork because we\u0027d try to re-export symbols from libc++abi that the\nsystem libc++abi.dylib might not have. Instead, only re-export those\nsymbols when we\u0027re using the in-tree libc++abi.\n\nThis does mean that libc++.dylib won\u0027t re-export any libc++abi symbols\nwhen building against the system libc++abi, which could be fixed in\nvarious ways. However, the best solution really depends on the intended\nuse case, so this patch doesn\u0027t try to solve that problem.\n\nAs a drive-by, also improve the diagnostic message when the user forgets\nto set the LIBCXX_CXX_ABI_INCLUDE_PATHS variable, which would previously\nlead to a confusing error.\n\nCloses #104672\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 21da4e7f51c7adfd0b1c5defc8bd0d16ea1ce759\n"
    },
    {
      "commit": "829f51051ce2b51be14f7853cca71be98083df6b",
      "tree": "e7a9595abce24636b7ca07720e662d8f25c2134f",
      "parents": [
        "ae0729a01204f2cdf7304b69590c9606539520c6"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Tue Oct 01 13:39:44 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 01 13:47:51 2024"
      },
      "message": "[libc++] Avoid re-exporting a few specific symbols from libc++abi (#109054)\n\nIn 6a884a9aef39, I synchronized the export list of libc++abi to the\nexport list of libc++. From the linker\u0027s perspective, this caused these\nsymbols to be taken from libc++.dylib instead of libc++abi.dylib.\n\nHowever, that can be problematic when back-deploying. Indeed, this means\nthat the linker will encode an undefined reference to be fullfilled by\nlibc++.dylib, but when backdeploying against an older system, that\nsymbol might only be available in libc++abi.dylib.\n\nMost of the symbols that started being re-exported after 6a884a9aef39\nturn out to be implementation details of libc++abi, so nobody really\ndepends on them and this back-deployment issue is inconsequential.\n\nHowever, we ran into issues with a few of these symbols while testing\nLLVM 19, which led to this patch. This slipped between the cracks and\nthat is why the patch is coming so long after the original patch landed.\n\nIn the future, a follow-up cleanup would be to stop exporting most of\nthe _cxxabiv1_foo_type_infoE symbols from both libc++abi and libc++\nsince they are implementation details that nobody should be relying on.\n\nrdar://131984512\n\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 677e8cd6ff51e178bcb4669104763f71a2de106c\n"
    }
  ],
  "next": "ae0729a01204f2cdf7304b69590c9606539520c6"
}
