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

Craig, Ben via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 24 09:56:48 PDT 2016


On 8/24/2016 11:31 AM, Rafael EspĂ­ndola wrote:
>> 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.
I guess I'm protesting the future change, rather than this change. 
libc++abi should not use source files, header files, static libraries, 
or shared objects that come from the llvm repository.

>> 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.
If the intent was to link this file in to libc++abi, then it does change 
things.

>
> Cheers,
> Rafael

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project



More information about the llvm-commits mailing list