[Lldb-commits] [lldb] [LLDB][NFC] Move CPlusPlusLanguage methods used in Core/Module.cpp to a separated module to break lldb-server dependencies (PR #132274)

Dmitry Vasilyev via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 31 09:06:11 PDT 2025


slydiman wrote:

> I think there's something else happening here.

Ok, it seems the dependency chain is longer:
Module.cpp -> CPlusPlusLanguage::ExtractContextAndIdentifier() -> 
CPlusPlusLanguage.cpp -> 
BlockPointer.cpp -> 
TypeSystemClang.cpp - >
ClangUserExpression.cpp ->
ClangExpressionParser.cpp -> clang::CreateLLVMCodeGen() -> llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp -> ...

Note the function clang::CreateLLVMCodeGen() is missing in the final binary (GC-ed).
We still don't know for sure what the GC root is. It is somewhere in the middle of clang, and I think it is already out of scope.

But we need to somehow break the dependency chain for lldb-server.
We have 2 options:
- this patch or such patch to break the dependency chain in some other place inside lldb plug-ins
- somehow finish https://github.com/swiftlang/llvm-project/pull/3240


https://github.com/llvm/llvm-project/pull/132274


More information about the lldb-commits mailing list