zequanwu marked an inline comment as done. zequanwu added inline comments.
================ Comment at: lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp:96 CompilerType method_ct = m_ast_builder.ToCompilerType(method_qt); - lldb::opaque_compiler_type_t derived_opaque_ty = m_derived_ct.GetOpaqueQualType(); + PdbAstBuilder::RequireCompleteType(method_ct); + lldb::opaque_compiler_type_t derived_opaque_ty = ---------------- zequanwu wrote: > labath wrote: > > I suppose this won't hurt, but `RequireCompleteType` will not actually do > > anything for method types, right ? > > > > Regarding method types, there is a slightly different problem. C++ rules > > require that in code like > > `struct B1 { virtual A1* f(); }; struct B2:B1 { A2* f(); };`, the types > > `A1` and `A2` must be complete (because that code is only valid if A1 is a > > base of A2). However, I think that's better left to a separate patch. > > I suppose this won't hurt, but RequireCompleteType will not actually do > > anything for method types, right ? > Yeah, it should do nothing. I just replaced all occurrence of CompleteType > with RequireCompleteType. > Regarding method types, there is a slightly different problem. C++ rules > require that in code like > struct B1 { virtual A1* f(); }; struct B2:B1 { A2* f(); };, the types A1 and > A2 must be complete (because that code is only valid if A1 is a base of A2). > However, I think that's better left to a separate patch. I tried this example. It crashed and reminds me of a similar crash stack I seen at https://bugs.chromium.org/p/chromium/issues/detail?id=1359144#c4. I tried to call `PdbAstBuilder::RequireCompleteType` with the method return type, still not working. Not sure what's missing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134066/new/ https://reviews.llvm.org/D134066 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits