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

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 10 04:54:49 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `amdgpu-offload-rhel-8-cmake-build-only` running on `rocm-docker-rhel-8` while building `.github,clang,llvm` at step 4 "annotate".

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

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

```
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Failed
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Failed
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Failed
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Failed
-- Performing Test C_SUPPORTS_NO_PASS_FAILED_FLAG
-- Performing Test C_SUPPORTS_NO_PASS_FAILED_FLAG - Success
-- Performing Test CXX_SUPPORTS_NO_PASS_FAILED_FLAG
-- Performing Test CXX_SUPPORTS_NO_PASS_FAILED_FLAG - Success
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Failed
-- Looking for os_signpost_interval_begin
-- Looking for os_signpost_interval_begin - not found
-- Looking for flock
-- Looking for flock - found
-- Linker detection: GNU ld
-- Performing Test LLVM_LINKER_SUPPORTS_B_SYMBOLIC_FUNCTIONS
-- Performing Test LLVM_LINKER_SUPPORTS_B_SYMBOLIC_FUNCTIONS - Success
-- Performing Test HAS_WERROR_GLOBAL_CTORS
-- Performing Test HAS_WERROR_GLOBAL_CTORS - Failed
-- Looking for __x86_64__
-- Looking for __x86_64__ - found
-- Found Git: /usr/bin/git (found version "2.43.5") 
-- Looking for logf128
-- Looking for logf128 - found
-- Targeting AMDGPU
-- Targeting SPIRV
-- Targeting X86
-- LLD version: 22.0.0
-- Performing Test C_SUPPORTS_WERROR_IMPLICIT_FUNCTION_DECLARATION
-- Performing Test C_SUPPORTS_WERROR_IMPLICIT_FUNCTION_DECLARATION - Success
-- Performing Test C_SUPPORTS_WUNDEF
-- Performing Test C_SUPPORTS_WUNDEF - Success
-- Performing Test C_SUPPORTS_WERROR_MISMATCHED_TAGS
-- Performing Test C_SUPPORTS_WERROR_MISMATCHED_TAGS - Failed
-- Performing Test CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER
-- Performing Test CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER - Success
-- Performing Test CXX_SUPPORTS_WNO_DEPRECTAED_COPY
-- Performing Test CXX_SUPPORTS_WNO_DEPRECTAED_COPY - Success
-- Performing Test C_SUPPORTS_WERROR_GLOBAL_CONSTRUCTOR
-- Performing Test C_SUPPORTS_WERROR_GLOBAL_CONSTRUCTOR - Failed
-- Performing Test CXX_SUPPORTS_WERROR_GLOBAL_CONSTRUCTOR
-- Performing Test CXX_SUPPORTS_WERROR_GLOBAL_CONSTRUCTOR - Failed
-- Performing Test COMPILER_SUPPORTS_WARNING_WEAK_VTABLES
Step 7 (build cmake config) failure: build cmake config (failure)
...
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/SmallVector.h:725:5:   required from ‘void llvm::SmallVectorImpl<T>::assign(ItTy, ItTy) [with ItTy = clang::lifetimes::internal::Fact* const*; <template-parameter-2-2> = void; T = const clang::lifetimes::internal::Fact*]’
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h:196:65:   required from here
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/SmallVector.h:203:45: warning: parameter ‘From’ set but not used [-Wunused-but-set-parameter]
   void assertSafeToReferenceAfterClear(ItTy From, ItTy To) {
                                        ~~~~~^~~~
/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ADT/SmallVector.h:203:56: warning: parameter ‘To’ set but not used [-Wunused-but-set-parameter]
   void assertSafeToReferenceAfterClear(ItTy From, ItTy To) {
                                                   ~~~~~^~
cc1plus: warning: unrecognized command line option ‘-Wno-pass-failed’
[6377/8118] Linking CXX shared library lib/libclangAnalysisLifetimeSafety.so.22.0git
FAILED: lib/libclangAnalysisLifetimeSafety.so.22.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -Wno-pass-failed -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections -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/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libLLVMFrontendOpenMP.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.o: In function `clang::lifetimes::internal::runLifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager const&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetyReporter*)':
Checker.cpp:(.text._ZN5clang9lifetimes8internal18runLifetimeCheckerERKNS1_23LoanPropagationAnalysisERKNS1_19LiveOriginsAnalysisERKNS1_11FactManagerERNS_19AnalysisDeclContextEPNS0_22LifetimeSafetyReporterE+0xb2): undefined reference to `clang::PostOrderCFGView::getTag()'
Checker.cpp:(.text._ZN5clang9lifetimes8internal18runLifetimeCheckerERKNS1_23LoanPropagationAnalysisERKNS1_19LiveOriginsAnalysisERKNS1_11FactManagerERNS_19AnalysisDeclContextEPNS0_22LifetimeSafetyReporterE+0xbd): undefined reference to `clang::AnalysisDeclContext::getAnalysisImpl(void const*)'
Checker.cpp:(.text._ZN5clang9lifetimes8internal18runLifetimeCheckerERKNS1_23LoanPropagationAnalysisERKNS1_19LiveOriginsAnalysisERKNS1_11FactManagerERNS_19AnalysisDeclContextEPNS0_22LifetimeSafetyReporterE+0xe77): undefined reference to `clang::PostOrderCFGView::create(clang::AnalysisDeclContext&)'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::handleTestPoint(clang::CXXFunctionalCastExpr const*) [clone .localalias.3]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator15handleTestPointEPKNS_21CXXFunctionalCastExprE+0xb9): undefined reference to `clang::Expr::IgnoreParenImpCasts()'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::handleDestructor(clang::CFGAutomaticObjDtor const&) [clone .localalias.6]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator16handleDestructorERKNS_19CFGAutomaticObjDtorE+0x70): undefined reference to `clang::Stmt::getEndLoc() const'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::isGslPointerType(clang::QualType)':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internalL16isGslPointerTypeENS_8QualTypeE+0xa2): undefined reference to `clang::ClassTemplateSpecializationDecl::getSpecializedTemplate() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internalL16isGslPointerTypeENS_8QualTypeE+0xb1): undefined reference to `clang::Decl::getAttrs() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internalL16isGslPointerTypeENS_8QualTypeE+0x13e): undefined reference to `clang::Decl::getAttrs() const'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::handleFunctionCall(clang::Expr const*, clang::FunctionDecl const*, llvm::ArrayRef<clang::Expr const*>, bool) [clone .localalias.4]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator18handleFunctionCallEPKNS_4ExprEPKNS_12FunctionDeclEN4llvm8ArrayRefIS5_EEb+0x27b): undefined reference to `clang::CXXMethodDecl::isStatic() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator18handleFunctionCallEPKNS_4ExprEPKNS_12FunctionDeclEN4llvm8ArrayRefIS5_EEb+0x295): undefined reference to `clang::FunctionDecl::getNumParams() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator18handleFunctionCallEPKNS_4ExprEPKNS_12FunctionDeclEN4llvm8ArrayRefIS5_EEb+0x2ac): undefined reference to `clang::FunctionDecl::getNumParams() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator18handleFunctionCallEPKNS_4ExprEPKNS_12FunctionDeclEN4llvm8ArrayRefIS5_EEb+0x2df): undefined reference to `clang::Decl::getAttrs() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator18handleFunctionCallEPKNS_4ExprEPKNS_12FunctionDeclEN4llvm8ArrayRefIS5_EEb+0x3b1): undefined reference to `clang::FunctionDecl::getNumParams() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator18handleFunctionCallEPKNS_4ExprEPKNS_12FunctionDeclEN4llvm8ArrayRefIS5_EEb+0x3c3): undefined reference to `clang::FunctionDecl::getNumParams() const'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::VisitCallExpr(clang::CallExpr const*) [clone .localalias.16]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator13VisitCallExprEPKNS_8CallExprE+0x64): undefined reference to `clang::Expr::getReferencedDeclOfCallee()'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::VisitCXXMemberCallExpr(clang::CXXMemberCallExpr const*) [clone .localalias.17]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator22VisitCXXMemberCallExprEPKNS_17CXXMemberCallExprE+0x69): undefined reference to `clang::Expr::getReferencedDeclOfCallee()'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator22VisitCXXMemberCallExprEPKNS_17CXXMemberCallExprE+0x8a): undefined reference to `clang::CXXMemberCallExpr::getImplicitObjectArgument() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator22VisitCXXMemberCallExprEPKNS_17CXXMemberCallExprE+0x97): undefined reference to `clang::CXXMemberCallExpr::getMethodDecl() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator22VisitCXXMemberCallExprEPKNS_17CXXMemberCallExprE+0xc4): undefined reference to `clang::CXXMemberCallExpr::getMethodDecl() const'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator22VisitCXXMemberCallExprEPKNS_17CXXMemberCallExprE+0xf5): undefined reference to `clang::CXXMemberCallExpr::getImplicitObjectArgument() const'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::VisitDeclStmt(clang::DeclStmt const*) [clone .localalias.20]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator13VisitDeclStmtEPKNS_8DeclStmtE+0xaa): undefined reference to `clang::VarDecl::getInit()'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::handleAssignment(clang::Expr const*, clang::Expr const*) [clone .localalias.2]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator16handleAssignmentEPKNS_4ExprES5_+0x21): undefined reference to `clang::Expr::IgnoreParenImpCasts()'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::VisitCXXOperatorCallExpr(clang::CXXOperatorCallExpr const*) [clone .localalias.10]':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator24VisitCXXOperatorCallExprEPKNS_19CXXOperatorCallExprE+0xa1): undefined reference to `clang::Expr::getReferencedDeclOfCallee()'
tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o: In function `clang::lifetimes::internal::FactsGenerator::run()':
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator3runEv+0x33): undefined reference to `clang::PostOrderCFGView::getTag()'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator3runEv+0x3e): undefined reference to `clang::AnalysisDeclContext::getAnalysisImpl(void const*)'
FactsGenerator.cpp:(.text._ZN5clang9lifetimes8internal14FactsGenerator3runEv+0x313): undefined reference to `clang::PostOrderCFGView::create(clang::AnalysisDeclContext&)'

```

</details>

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


More information about the llvm-commits mailing list