[libcxx-commits] [libcxxabi] [libcxxabi] Update ItaniumDemangle.h from LLVM (PR #140273)

Aiden Grossman via libcxx-commits libcxx-commits at lists.llvm.org
Fri May 16 17:01:05 PDT 2025


boomanaiden154 wrote:

> was the issue including it in the lib headers?

Not sure what you mean here by lib headers. The issue was that `ItaniumDemangle.h` now referenced a header in `llvm/Support` which is not allowed. It is probably fine in LLVM given everything that includes `ItaniumDemangle.h` presumably also links/includes `llvm/Support`, but this is not the case in `libcxxabi` where the files need to match.

Layering violations in general are somewhat difficult to catch automatically. `bazel` has explicit checks for it, but CMake does not. I think they sometimes pop up in shared library builds, but not necessarily. This one is basically impossible to catch through a build failure. Automation to ensure the `libcxxabi` and `llvm` versions match though should be sufficient for this case as you would get a build error if a file in `libcxxabi` tried to include something from `llvm/`.

https://github.com/llvm/llvm-project/pull/140273


More information about the libcxx-commits mailing list