[Lldb-commits] [PATCH] D69309: Support template instantiation in the expression evaluator

Jaroslav Sevcik via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 16 23:12:47 PST 2019


jarin added a comment.

In D69309#1752738 <https://reviews.llvm.org/D69309#1752738>, @friss wrote:

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


Frederic, you say that "doing this in the compiler causes test failures in LLDB", which implies you have tried adding the template in the compiler. Do you have that compiler patch lying around so that we could have a look at what can be done on the lldb side?

I agree that a good long term fix is to have "Foo" as an entity in DWARF, although for backwards compatibility it might be better if the "Foo" template just contained references to the instantiations rather than having them as children.


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

https://reviews.llvm.org/D69309





More information about the lldb-commits mailing list