[clang] [llvm] [LifetimeSafety] Reorganize code into modular components (PR #162474)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 10 06:15:06 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-ppc64le-rhel` running on `ppc64le-clang-rhel-test` while building `.github,clang,llvm` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/145/builds/10175

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
66.882 [3062/192/3438] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMFrameLowering.cpp.o
66.896 [3061/192/3439] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMHazardRecognizer.cpp.o
66.923 [3060/192/3440] Linking CXX shared library lib/libLLVMFrontendOpenMP.so.22.0git
66.948 [3059/192/3441] Creating library symlink lib/libLLVMFrontendOpenMP.so
66.988 [3058/192/3442] Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineObjC.cpp.o
67.112 [3057/192/3443] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMInstructionSelector.cpp.o
67.166 [3056/192/3444] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMISelDAGToDAG.cpp.o
67.174 [3055/192/3445] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMInstrInfo.cpp.o
67.182 [3054/192/3446] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/CheckExprLifetime.cpp.o
67.203 [3053/192/3447] Linking CXX shared library lib/libclangAnalysisLifetimeSafety.so.22.0git
FAILED: [code=1] lib/libclangAnalysisLifetimeSafety.so.22.0git 
: && /home/buildbots/llvm-external-buildbots/clang.20.1.8/bin/clang++ --gcc-toolchain=/gcc-toolchain/usr -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -Wno-pass-failed -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -Wl,--color-diagnostics  -Wl,--gc-sections  -Xlinker --dependency-file=tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/clangAnalysisLifetimeSafety.dir/link.d -shared -Wl,-soname,libclangAnalysisLifetimeSafety.so.22.0git -o lib/libclangAnalysisLifetimeSafety.so.22.0git tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LifetimeAnnotations.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LifetimeSafety.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LiveOrigins.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Loans.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LoanPropagation.cpp.o tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Origins.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib:"  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib && :
ld.lld: error: undefined symbol: clang::PostOrderCFGView::getTag()
>>> referenced by Checker.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.o:(clang::lifetimes::internal::runLifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager const&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetyReporter*))
>>> referenced by Facts.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.o:(clang::lifetimes::internal::FactManager::dump(clang::CFG const&, clang::AnalysisDeclContext&) const)
>>> referenced by FactsGenerator.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o:(clang::lifetimes::internal::FactsGenerator::run())
>>> referenced 2 more times

ld.lld: error: undefined symbol: clang::AnalysisDeclContext::getAnalysisImpl(void const*)
>>> referenced by Checker.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.o:(clang::lifetimes::internal::runLifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager const&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetyReporter*))
>>> referenced by Facts.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.o:(clang::lifetimes::internal::FactManager::dump(clang::CFG const&, clang::AnalysisDeclContext&) const)
>>> referenced by FactsGenerator.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o:(clang::lifetimes::internal::FactsGenerator::run())
>>> referenced 2 more times

ld.lld: error: undefined symbol: clang::PostOrderCFGView::create(clang::AnalysisDeclContext&)
>>> referenced by Checker.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.o:(clang::lifetimes::internal::runLifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager const&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetyReporter*))
>>> referenced by Facts.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.o:(clang::lifetimes::internal::FactManager::dump(clang::CFG const&, clang::AnalysisDeclContext&) const)
>>> referenced by FactsGenerator.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o:(clang::lifetimes::internal::FactsGenerator::run())
>>> referenced 2 more times

ld.lld: error: undefined symbol: clang::NamedDecl::getQualifiedNameAsString[abi:cxx11]() const
>>> referenced by Facts.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.o:(clang::lifetimes::internal::FactManager::dump(clang::CFG const&, clang::AnalysisDeclContext&) const)

ld.lld: error: undefined symbol: clang::Stmt::getEndLoc() const
>>> referenced by FactsGenerator.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o:(clang::lifetimes::internal::FactsGenerator::run())
>>> referenced by FactsGenerator.cpp
>>>               tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o:(clang::lifetimes::internal::FactsGenerator::handleDestructor(clang::CFGAutomaticObjDtor const&))


```

</details>

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


More information about the cfe-commits mailing list