grimar added a comment. Since .debug_loclists contains locations descriptions for objects that can change location during lifetime, I do not see a way to write the test without relying on a compiler that has support for DWARF5. We should compile and run executable to test that location was calculated properly I believe. Other our tests for DWARF5 sections recently implemented used YAML and never run any executables. So, the test case is not included.
At the same time I was able to test it with the following code and invocation: (trunk clang + https://reviews.llvm.org/D53365 applied): ~/LLVM/build/bin/clang -gdwarf-5 test.cc -o test_v5-fuse-ld=lld -fno-rtti struct A { int x = 0; virtual void foo(); }; void baz(struct A a) { a.foo(); } void A::foo() { int x = 0; ++x; } int main() { A objA; objA.x = 3; baz(objA); return 0; } After executing the following commands, the location of `a` is properly evaluated: (lldb) target create "test_v5" Current executable set to 'test_v5' (x86_64). (lldb) b baz Breakpoint 1: where = test_v5`baz(A) + 4 at test.cc:9:6, address = 0x00000000002010e4 (lldb) run Process 115974 launched: '/home/umb/tests_2018/110_lldbloclists/test_v5' (x86_64) Process 115974 stopped * thread #1, name = 'test_v5', stop reason = breakpoint 1.1 frame #0: 0x00000000002010e4 test_v5`baz(a=(x = 3)) at test.cc:9:6 6 }; 7 8 void baz(struct A a) { -> 9 a.foo(); 10 } Without this patch output will be: ... frame #0: 0x00000000002010e4 test_v5`baz(a=<unavailable>) at test.cc:9:6 ... https://reviews.llvm.org/D53436 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits