kpdev42 added inline comments.
================ Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:1483 + // base with all fields having [[no_unique_address]] attribute. + for (auto it = base_classes.rbegin(); it != base_classes.rend(); ++it) { + clang::CXXRecordDecl *prev_base_decl = ---------------- kpdev42 wrote: > Michael137 wrote: > > Michael137 wrote: > > > The main problem I still see with this is that if we have something like: > > > ``` > > > struct A : C, B { > > > > > > }; > > > ``` > > > > > > then we mark `C`'s fields as empty and leave `B` as is. This still leads > > > to the same crash later on. > > > > > > Perhaps we should mark we could check the size of the struct and decide > > > based on that which one is the "empty" one > > Interestingly there was a discussion on the DWARF mailing list about this > > some time ago: > > https://www.mail-archive.com/dwarf-discuss@lists.dwarfstd.org/msg00880.html > > > > There might be room to changing the emitted DWARF to make it easier to > > determine the empty structure. I will gauge opinions on this thread later > > today > Unfortunately we cannot analyze record size, because it is always 1 for empty > records, whether or not [[no_unique_address]] is used. However we still can > analyze field offsets, I think. This what an updated patch does and it seems > to handle more different cases Yes, this will help a lot, however many people use older versions of clang compiler and also gcc. This fix might be useful for them so far Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143347/new/ https://reviews.llvm.org/D143347 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits