[Lldb-commits] [PATCH] D81561: [lldb] Add basic -flimit-debug-info support to expression evaluator

Adrian Prantl via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jun 10 18:53:20 PDT 2020

aprantl added a comment.

It's great to see this being addressed! I have a high-level question: When completing types across lldb::Modules — in which ASTContext is the complete type created? Since a per-module TypeSystem can be shared by many debuggers, I want to make sure that types from another module don't pollute another module's ASTContext, and that they are created in the/a scratch context instead.

Comment at: lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp:882
+  auto *td = dyn_cast<TagDecl>(From);
+  if (td && md && md->IsForcefullyCompleted()) {
+    if (auto *proxy = llvm::dyn_cast<ClangASTSource::ClangASTSourceProxy>(
Can you document what case exactly is being handled here?

Comment at: lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h:87
+  bool IsForcefullyCompleted() const { return m_is_forcefully_completed; }
It would be important to document somewhere what the semantics of this attribute are exactly, since the name is not self-explanatory.

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list