Michael137 wrote:

@labath Thanks for the reviews so far. The latest commit contains a prototype 
of adding the GCC-style unified mangled name to constructor/destructor 
declarations. Turns out this wasn't too hard and actually solves all the issues 
we talked about pretty nicely. Mainly needed to ensure the accelerator tables 
map the unified mangled name to the definition DIE. And thus also had to adjust 
the `GetFunctions` LLDB implementation (though there may be better ways of 
doing that).

The issue of checking that the specification came from the right place is 
redundant now because we lookup structors within a SymbolFile up by mangled 
name too. And the fallback path in case the definition is in a different module 
works too because we encode the mangled structor name in the label (albeit the 
unified one, so there may still need to be some work to be done to ensure we 
pick the right variant). Also for older clang versions, if the structor 
declaration doesn't have a mangled name, which just don't attach an `AsmLabel`, 
so that would work as LLDB does today.

Let me know what you think. I'll prepare a separate PR to discuss these changes

https://github.com/llvm/llvm-project/pull/149827
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to