friss added a comment.

Sorry that I haven't reviewed the patch, but there's something I'd like to 
point out before anyone invests a lot of time into plugin holes in our current 
template support code.

It would be great to fix the way templates are represented, because currently 
the debug info doesn't allow us to answer Clang's requests correctly. There is 
the beginning of a discussion here: 
http://lists.llvm.org/pipermail/lldb-commits/Week-of-Mon-20180507/040689.html

Basically, today the debug info will describe an entity named "Foo<int>". The 
accelerator tables all reference this name. So when Clang asks us if we know 
"Foo" (which is what happens when instantiating), we fail to find the right 
instantiations. The consensus of the above discussion was that we should change 
the debug info to have "Foo" as the name of any instantiation, with a child DIE 
describing the template arguments. Just doing this in the compiler causes test 
failures in LLDB, so there's some work to do in LLDB to support this.


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

https://reviews.llvm.org/D69309



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to