Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Pavel Labath via lldb-dev
On Fri, 15 Jun 2018 at 20:14, David Blaikie wrote: > > How do you handle name lookup for nested classes? They have the same problem > (they don't appear in all definitions) - don't appear in all descriptions of > the outer/parent class. (in theory we could ensure there's always at least a >

[lldb-dev] multiple NameErrors on lldb startup, doesn't seem to affect lldb performance

2018-06-15 Thread Peter Rowat via lldb-dev
Here is what happens: prowat% lldb modTS (lldb) target create "modTS" Traceback (most recent call last): File "", line 1, in File "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python/lldb/__init__.py", line 98, in import six ImportError: No module named

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread via lldb-dev
gc> Solution #1 would cause us to dig through all definitions of all C++ gc> classes all the time when parsing DWARF to check if definitions of gc> the classes had template methods. And we would need to find the class gc> that has the most template methods. This would cause us to parse much gc>

Re: [lldb-dev] clang::VersionTuple

2018-06-15 Thread Jim Ingham via lldb-dev
> On Jun 15, 2018, at 3:44 AM, Pavel Labath via lldb-dev > wrote: > > Hello again, > > Just a quick update on the state of this. > > I've managed to move VersionTuple from clang to llvm. I've also > created to switch over our version > handling to that

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Greg Clayton via lldb-dev
> On Jun 15, 2018, at 10:40 AM, > wrote: > > > >> -Original Message- >> From: Greg Clayton [mailto:clayb...@gmail.com ] >> Sent: Friday, June 15, 2018 12:46 PM >> To: Robinson, Paul >> Cc: lab...@google.com ; dblai...@gmail.com

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread via lldb-dev
> -Original Message- > From: Greg Clayton [mailto:clayb...@gmail.com] > Sent: Friday, June 15, 2018 12:46 PM > To: Robinson, Paul > Cc: lab...@google.com; dblai...@gmail.com; apra...@apple.com; > echri...@google.com; jdevliegh...@apple.com; llvm-...@lists.llvm.org; >

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Greg Clayton via lldb-dev
> On Jun 15, 2018, at 9:23 AM, > wrote: > >> From: Greg Clayton [mailto:clayb...@gmail.com] >> >> ... >> If a class has templated functions, they will only be in the DWARF is a >> specialization was created and used. If you have a class that looks like: >> >> class A { >>A(); >>

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread via lldb-dev
> From: Greg Clayton [mailto:clayb...@gmail.com] > > ... > If a class has templated functions, they will only be in the DWARF is a > specialization was created and used. If you have a class that looks like: > > class A { >   A(); >    void Foo(T t); > }; > > And then you have main.cpp that has a

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Greg Clayton via lldb-dev
To elaborate a bit more on the issue that is detailed in https://reviews.llvm.org/rL260308: There are many clang AST contexts that are used in LLDB: - one for each lldb_private::Module that contains type definitions as we know them in the module and its symbol vendor - one for each expression -

Re: [lldb-dev] clang::VersionTuple

2018-06-15 Thread Pavel Labath via lldb-dev
Hello again, Just a quick update on the state of this. I've managed to move VersionTuple from clang to llvm. I've also created to switch over our version handling to that class. Could I interest anyone in taking a quick look at the patch? pl On Wed, 9 May

Re: [lldb-dev] [llvm-dev] Adding DWARF5 accelerator table support to llvm

2018-06-15 Thread Pavel Labath via lldb-dev
I wasn't using type units (those don't work at all right now). I've done a bit of digging, and i found this patch which explicitly disables template member function parsing (though it seems it didn't really work before either). The patch contains a quite long