[Lldb-commits] [PATCH] D76168: CPlusPlusNameParser does not handles templated operator< properly

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 20 03:46:04 PDT 2020


labath added a comment.

In D76168#1929733 <https://reviews.llvm.org/D76168#1929733>, @shafik wrote:

> 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.


sounds good to me.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76168/new/

https://reviews.llvm.org/D76168





More information about the lldb-commits mailing list