shafik added a comment. In D76168#1929211 <https://reviews.llvm.org/D76168#1929211>, @labath wrote:
> In D76168#1925176 <https://reviews.llvm.org/D76168#1925176>, @shafik wrote: > > > Long-term I would like to modify clang to stop doing that for LLDB, but > > LLDB will still have to support older compilers for a while. So I think > > this fix is still needed. > > > So is this some alternative to D75761 <https://reviews.llvm.org/D75761> > (where we'd use CPlusPlusNameParser to decode DW_AT_names of templates)? If > so, I think that is an interesting direction, but beware that that class is > kind of meant for processing the demangler output. The contents of DW_AT_name > looks a bit like a demangled name, but in reality there are some deviations > from that format (which is why I did not recommend this direction initially > -- but I am not against it either). > > Also it looks like llvm and gnu demanglers disagree on the exact formatting > of demangled operator names: > > $ c++filt _ZlsI1AEvT_S1_ > void operator<< <A>(A, A) > $ llvm-cxxfilt _ZlsI1AEvT_S1_ > void operator<<<A>(A, A) > > > I think the gnu format is superior (and unambiguous) so we could change llvm > to match that -- and this change probably won't require any kind of > compatibility hacks. This is not an alternative, this is a complement to that fix. So even with D75761 <https://reviews.llvm.org/D75761> we still fail in expressions and setting breakpoints for symbols of that type. So both fixes are needed. I personally would like to stop emitting template parameters for `DW_AT_names` but I know this will break some stuff and I have to see if it is workable or not, I think it is. Lastly, we will still need to support older compilers regardless. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76168/new/ https://reviews.llvm.org/D76168 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits