[PATCH] D20083: Add an c++ itanium demangler to llvm

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 24 09:31:02 PDT 2016


> 1. I think there are already too many build time dependencies crossing the compiler / runtime boundary.  I'm tired of my libcxx and libcxxabi builds failing because of unrelated cmake changes in LLVM.  To avoid that, I could build a standalone version... but now that won't be easily possible because of this change.

Not sure I follow. Note that this function is in an independent
library with no dependencies.

> Building libcxx and libcxxabi shouldn't require me to pull down llvm sources, or to have a "dev" install of llvm, and this change makes that problem even worse than it already is.  Will this even work for the cross compilation cases?

This should not change this case at all. This just adds a file to llvm
itself. In a future change I will add a ifdef to it so that it can
also be used with no changes in libcxxabi.

> 2. This (and the current demangle implementation) are major ODR liabilities.  This is being built with exceptions turned off.  Client code can build with exceptions turned on.  Now, one process has two copies of some vector and string methods, some built with exceptions on and some with exceptions off.  This has actually bitten me in the past.

That is true for all of llvm, this doesn't change it at all.

Cheers,
Rafael


More information about the llvm-commits mailing list