[Lldb-commits] [PATCH] D134066: [LLDB][NativePDB] Forcefully complete a record type it has incomplete type debug info.

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Nov 3 07:09:44 PDT 2022


labath added a comment.

In D134066#3903831 <https://reviews.llvm.org/D134066#3903831>, @zequanwu wrote:

> It shouldn't reach the code path to complete a class with empty debug info.

How about this?

  $ cat a.cc
  struct A { int x; A(); }; A::A() : x(47) {}
  
  $ cat b.cc
  struct A { int x; A(); };
  struct B : A {};
  
  B b;
  int main(){}
  
  $ bin\clang a.cc -o a.o -c
  
  $ bin\clang.exe a.o b.cc -g -o b.exe
  
  $ bin\lldb b.exe
  (lldb) target create "b.exe"
  (lldb) Current executable set to 'b.exe' (x86_64).
  (lldb) b main
  Breakpoint 1: where = b.exe`main at b.cc:5, address = 0x0000000140007100
  (lldb) r
  (lldb) Process 14288 launched: 'b.exe' (x86_64)
  Process 14288 stopped
  * thread #1, stop reason = breakpoint 1.1
      frame #0: 0x00007ff6f37f7100 b.exe`main at b.cc:5
     2    struct B : A {};
     3
     4    B b;
  -> 5    int main(){}
  (lldb) p b
  Assertion failed: DD && "queried property of class with no definition", file clang\include\clang/AST/DeclCXX.h, line 443


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D134066



More information about the lldb-commits mailing list