[llvm] [llubi] Global variables with simple initializers and global-address constants (PR #200547)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 00:09:11 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 84381 tests passed
* 2100 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=4294967295] bin/c-index-test.exe</summary>

```
FAILED: [code=4294967295] bin/c-index-test.exe
C:\Windows\system32\cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --msvc-ver=1944 --intdir=tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir\c-index-test.c.obj tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir\core_main.cpp.obj tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir\C_\_work\llvm-project\llvm-project\llvm\resources\windows_version_resource.rc.res  /out:bin\c-index-test.exe /implib:lib\c-index-test.lib /pdb:bin\c-index-test.pdb /version:0.0 /MANIFEST:NO /INCREMENTAL:NO /subsystem:console  /STACK:10000000  lib\LLVMSupport.lib  lib\libclang.lib  lib\clangAST.lib  lib\clangBasic.lib  lib\clangDriver.lib  lib\clangFrontend.lib  lib\clangIndex.lib  lib\clangSerialization.lib  lib\clangUnifiedSymbolResolution.lib  lib\clangDependencyScanning.lib  lib\clangScalableStaticAnalysisFrameworkFrontend.lib  lib\clangScalableStaticAnalysisFrameworkAnalyses.lib  lib\clangScalableStaticAnalysisFrameworkCore.lib  version.lib  lib\LLVMWindowsDriver.lib  lib\clangOptions.lib  lib\LLVMOption.lib  lib\clangParse.lib  lib\LLVMPlugins.lib  lib\clangSema.lib  lib\clangAPINotes.lib  lib\clangEdit.lib  lib\clangAnalysisLifetimeSafety.lib  lib\clangAnalysis.lib  lib\clangASTMatchers.lib  lib\clangSupport.lib  lib\clangFormat.lib  lib\clangToolingInclusions.lib  lib\clangToolingCore.lib  lib\clangRewrite.lib  lib\clangLex.lib  lib\LLVMFrontendOpenMP.lib  lib\LLVMScalarOpts.lib  lib\LLVMAggressiveInstCombine.lib  lib\LLVMInstCombine.lib  lib\LLVMFrontendOffloading.lib  lib\LLVMTransformUtils.lib  lib\LLVMObjectYAML.lib  lib\LLVMFrontendAtomic.lib  lib\LLVMAnalysis.lib  lib\LLVMFrontendHLSL.lib  lib\LLVMProfileData.lib  lib\LLVMSymbolize.lib  lib\LLVMDebugInfoGSYM.lib  lib\LLVMDebugInfoPDB.lib  lib\LLVMDebugInfoCodeView.lib  lib\LLVMDebugInfoMSF.lib  lib\LLVMDebugInfoBTF.lib  lib\LLVMDebugInfoDWARF.lib  lib\LLVMObject.lib  lib\LLVMIRReader.lib  lib\LLVMBitReader.lib  lib\LLVMAsmParser.lib  lib\LLVMCore.lib  lib\LLVMRemarks.lib  lib\LLVMBitstreamReader.lib  lib\LLVMMCParser.lib  lib\LLVMMC.lib  lib\LLVMTextAPI.lib  lib\LLVMDebugInfoDWARFLowLevel.lib  lib\LLVMBinaryFormat.lib  lib\LLVMFrontendDirective.lib  lib\LLVMTargetParser.lib  psapi.lib  shell32.lib  ole32.lib  uuid.lib  advapi32.lib  ws2_32.lib  ntdll.lib  delayimp.lib  -delayload:shell32.dll  -delayload:ole32.dll  lib\LLVMDemangle.lib  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
LINK: command "C:\clang\clang-msvc\bin\lld-link.exe /nologo tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir\c-index-test.c.obj tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir\core_main.cpp.obj tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir\C_\_work\llvm-project\llvm-project\llvm\resources\windows_version_resource.rc.res /out:bin\c-index-test.exe /implib:lib\c-index-test.lib /pdb:bin\c-index-test.pdb /version:0.0 /MANIFEST:NO /INCREMENTAL:NO /subsystem:console /STACK:10000000 lib\LLVMSupport.lib lib\libclang.lib lib\clangAST.lib lib\clangBasic.lib lib\clangDriver.lib lib\clangFrontend.lib lib\clangIndex.lib lib\clangSerialization.lib lib\clangUnifiedSymbolResolution.lib lib\clangDependencyScanning.lib lib\clangScalableStaticAnalysisFrameworkFrontend.lib lib\clangScalableStaticAnalysisFrameworkAnalyses.lib lib\clangScalableStaticAnalysisFrameworkCore.lib version.lib lib\LLVMWindowsDriver.lib lib\clangOptions.lib lib\LLVMOption.lib lib\clangParse.lib lib\LLVMPlugins.lib lib\clangSema.lib lib\clangAPINotes.lib lib\clangEdit.lib lib\clangAnalysisLifetimeSafety.lib lib\clangAnalysis.lib lib\clangASTMatchers.lib lib\clangSupport.lib lib\clangFormat.lib lib\clangToolingInclusions.lib lib\clangToolingCore.lib lib\clangRewrite.lib lib\clangLex.lib lib\LLVMFrontendOpenMP.lib lib\LLVMScalarOpts.lib lib\LLVMAggressiveInstCombine.lib lib\LLVMInstCombine.lib lib\LLVMFrontendOffloading.lib lib\LLVMTransformUtils.lib lib\LLVMObjectYAML.lib lib\LLVMFrontendAtomic.lib lib\LLVMAnalysis.lib lib\LLVMFrontendHLSL.lib lib\LLVMProfileData.lib lib\LLVMSymbolize.lib lib\LLVMDebugInfoGSYM.lib lib\LLVMDebugInfoPDB.lib lib\LLVMDebugInfoCodeView.lib lib\LLVMDebugInfoMSF.lib lib\LLVMDebugInfoBTF.lib lib\LLVMDebugInfoDWARF.lib lib\LLVMObject.lib lib\LLVMIRReader.lib lib\LLVMBitReader.lib lib\LLVMAsmParser.lib lib\LLVMCore.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMMCParser.lib lib\LLVMMC.lib lib\LLVMTextAPI.lib lib\LLVMDebugInfoDWARFLowLevel.lib lib\LLVMBinaryFormat.lib lib\LLVMFrontendDirective.lib lib\LLVMTargetParser.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib ws2_32.lib ntdll.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: void __cdecl clang::ssaf::printAvailableTUSummaryExtractors(class llvm::raw_ostream &)
>>> referenced by clangDriver.lib(Driver.cpp.obj):(public: bool __cdecl clang::driver::Driver::HandleImmediateArgs(class clang::driver::Compilation &))

lld-link: error: undefined symbol: void __cdecl clang::ssaf::printAvailableFormats(class llvm::raw_ostream &)
>>> referenced by clangDriver.lib(Driver.cpp.obj):(public: bool __cdecl clang::driver::Driver::HandleImmediateArgs(class clang::driver::Compilation &))

lld-link: error: undefined symbol: int volatile clang::ssaf::AnalysisRegistryAnchorSource
>>> referenced by clangDriver.lib(Driver.cpp.obj):(_GLOBAL__sub_I_Driver.cpp)

lld-link: error: undefined symbol: int volatile clang::ssaf::JSONFormatAnchorSource
>>> referenced by clangDriver.lib(Driver.cpp.obj):(_GLOBAL__sub_I_Driver.cpp)

lld-link: error: undefined symbol: public: class std::optional<class clang::ssaf::EntityId> __cdecl clang::ssaf::TUSummaryExtractor::addEntity(class clang::NamedDecl const *)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphExtractor.cpp.obj):(private: virtual void __cdecl `anonymous namespace'::CallGraphExtractor::HandleTranslationUnit(class clang::ASTContext &))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphExtractor.cpp.obj):(private: virtual void __cdecl `anonymous namespace'::CallGraphExtractor::HandleTranslationUnit(class clang::ASTContext &))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowExtractor.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::PointerFlowTUSummaryExtractor::HandleTranslationUnit(class clang::ASTContext &))
>>> referenced 2 more times

lld-link: error: undefined symbol: private: struct std::pair<class clang::ssaf::EntitySummary *, bool> __cdecl clang::ssaf::TUSummaryBuilder::addSummaryImpl(class clang::ssaf::EntityId, class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>> &&)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphExtractor.cpp.obj):(private: virtual void __cdecl `anonymous namespace'::CallGraphExtractor::HandleTranslationUnit(class clang::ASTContext &))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowExtractor.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::PointerFlowTUSummaryExtractor::HandleTranslationUnit(class clang::ASTContext &))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageExtractor.cpp.obj):(public: virtual void __cdecl clang::ssaf::UnsafeBufferUsageTUSummaryExtractor::HandleTranslationUnit(class clang::ASTContext &))

lld-link: error: undefined symbol: struct llvm::detail::RegistryLinkListStorage<class llvm::Registry<class clang::ssaf::TUSummaryExtractor, class clang::ssaf::TUSummaryBuilder &>> & __cdecl llvm::detail::getRegistryLinkListInstance<class llvm::Registry<class clang::ssaf::TUSummaryExtractor, class clang::ssaf::TUSummaryBuilder &>>(void)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphExtractor.cpp.obj):(_GLOBAL__sub_I_CallGraphExtractor.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowExtractor.cpp.obj):(_GLOBAL__sub_I_PointerFlowExtractor.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageExtractor.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageExtractor.cpp)

lld-link: error: undefined symbol: public: class llvm::Error __cdecl clang::ssaf::ErrorBuilder::build(void) const
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphJSONFormat.cpp.obj):(class llvm::Expected<class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>>> __cdecl deserialize(class llvm::json::Object const &, class clang::ssaf::EntityIdTable &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphJSONFormat.cpp.obj):(class llvm::Expected<class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>>> __cdecl deserialize(class llvm::json::Object const &, class clang::ssaf::EntityIdTable &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphJSONFormat.cpp.obj):(class llvm::Expected<class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>>> __cdecl deserialize(class llvm::json::Object const &, class clang::ssaf::EntityIdTable &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))
>>> referenced 7 more times

lld-link: error: undefined symbol: public: static class clang::ssaf::ErrorBuilder __cdecl clang::ssaf::ErrorBuilder::wrap(class llvm::Error)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphJSONFormat.cpp.obj):(class llvm::Expected<class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>>> __cdecl deserialize(class llvm::json::Object const &, class clang::ssaf::EntityIdTable &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphJSONFormat.cpp.obj):(class llvm::Expected<class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>>> __cdecl deserialize(class llvm::json::Object const &, class clang::ssaf::EntityIdTable &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))

lld-link: error: undefined symbol: struct llvm::detail::RegistryLinkListStorage<class llvm::Registry<struct clang::ssaf::FormatInfoEntry<class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntitySummary const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>>> __cdecl(class llvm::json::Object const &, class clang::ssaf::EntityIdTable &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>>> & __cdecl llvm::detail::getRegistryLinkListInstance<class llvm::Registry<struct clang::ssaf::FormatInfoEntry<class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntitySummary const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::EntitySummary, struct std::default_delete<class clang::ssaf::EntitySummary>>> __cdecl(class llvm::json::Object const &, class clang::ssaf::EntityIdTable &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>>>(void)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(CallGraphJSONFormat.cpp.obj):(_GLOBAL__sub_I_CallGraphJSONFormat.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowFormat.cpp.obj):(_GLOBAL__sub_I_PointerFlowFormat.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageFormat.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageFormat.cpp)

lld-link: error: undefined symbol: struct llvm::detail::RegistryLinkListStorage<class llvm::Registry<struct clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Codec>> & __cdecl llvm::detail::getRegistryLinkListInstance<class llvm::Registry<struct clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Codec>>(void)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowAnalysis.cpp.obj):(public: __cdecl llvm::Registry<struct clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Codec>::Add<struct `public: __cdecl clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Add<struct clang::ssaf::PointerFlowAnalysisResult>::Add<struct clang::ssaf::PointerFlowAnalysisResult>(class llvm::json::Object (__cdecl *)(struct clang::ssaf::PointerFlowAnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>), class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> (__cdecl *)(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))'::`2'::ConcreteCodec>::Add<struct `public: __cdecl clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Add<struct clang::ssaf::PointerFlowAnalysisResult>::Add<struct clang::ssaf::PointerFlowAnalysisResult>(class llvm::json::Object (__cdecl *)(struct clang::ssaf::PointerFlowAnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>), class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> (__cdecl *)(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))'::`2'::ConcreteCodec>(class llvm::StringRef, class llvm::StringRef))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(public: __cdecl llvm::Registry<struct clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Codec>::Add<struct `public: __cdecl clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Add<struct clang::ssaf::UnsafeBufferUsageAnalysisResult>::Add<struct clang::ssaf::UnsafeBufferUsageAnalysisResult>(class llvm::json::Object (__cdecl *)(struct clang::ssaf::UnsafeBufferUsageAnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>), class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> (__cdecl *)(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))'::`2'::ConcreteCodec>::Add<struct `public: __cdecl clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Add<struct clang::ssaf::UnsafeBufferUsageAnalysisResult>::Add<struct clang::ssaf::UnsafeBufferUsageAnalysisResult>(class llvm::json::Object (__cdecl *)(struct clang::ssaf::UnsafeBufferUsageAnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>), class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> (__cdecl *)(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))'::`2'::ConcreteCodec>(class llvm::StringRef, class llvm::StringRef))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(public: __cdecl llvm::Registry<struct clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Codec>::Add<struct `public: __cdecl clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Add<struct clang::ssaf::UnsafeBufferReachableAnalysisResult>::Add<struct clang::ssaf::UnsafeBufferReachableAnalysisResult>(class llvm::json::Object (__cdecl *)(struct clang::ssaf::UnsafeBufferReachableAnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>), class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> (__cdecl *)(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))'::`2'::ConcreteCodec>::Add<struct `public: __cdecl clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<class clang::ssaf::JSONFormat, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::AnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>)>, class llvm::function_ref<class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> __cdecl(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>)>>::Add<struct clang::ssaf::UnsafeBufferReachableAnalysisResult>::Add<struct clang::ssaf::UnsafeBufferReachableAnalysisResult>(class llvm::json::Object (__cdecl *)(struct clang::ssaf::UnsafeBufferReachableAnalysisResult const &, class llvm::function_ref<class llvm::json::Object __cdecl(class clang::ssaf::EntityId)>), class llvm::Expected<class std::unique_ptr<class clang::ssaf::AnalysisResult, struct std::default_delete<class clang::ssaf::AnalysisResult>>> (__cdecl *)(class llvm::json::Object const &, class llvm::function_ref<class llvm::Expected<class clang::ssaf::EntityId> __cdecl(class llvm::json::Object const &)>))'::`2'::ConcreteCodec>(class llvm::StringRef, class llvm::StringRef))

lld-link: error: undefined symbol: class llvm::raw_ostream & __cdecl clang::ssaf::operator<<(class llvm::raw_ostream &, class clang::ssaf::AnalysisName const &)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowAnalysis.cpp.obj):(public: virtual void __cdecl llvm::support::detail::stream_operator_format_adapter<class clang::ssaf::AnalysisName>::format(class llvm::raw_ostream &, class llvm::StringRef))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(public: virtual void __cdecl llvm::support::detail::stream_operator_format_adapter<class clang::ssaf::AnalysisName const &>::format(class llvm::raw_ostream &, class llvm::StringRef))

lld-link: error: undefined symbol: struct llvm::detail::RegistryLinkListStorage<class llvm::Registry<class clang::ssaf::AnalysisBase>> & __cdecl llvm::detail::getRegistryLinkListInstance<class llvm::Registry<class clang::ssaf::AnalysisBase>>(void)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowAnalysis.cpp.obj):(_GLOBAL__sub_I_PointerFlowAnalysis.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageAnalysis.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageAnalysis.cpp)

lld-link: error: undefined symbol: public: static bool __cdecl clang::ssaf::AnalysisRegistry::contains(class clang::ssaf::AnalysisName const &)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowAnalysis.cpp.obj):(_GLOBAL__sub_I_PointerFlowAnalysis.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageAnalysis.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageAnalysis.cpp)

lld-link: error: undefined symbol: private: static class std::vector<class clang::ssaf::AnalysisName, class std::allocator<class clang::ssaf::AnalysisName>> & __cdecl clang::ssaf::AnalysisRegistry::getAnalysisNames(void)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(PointerFlowAnalysis.cpp.obj):(_GLOBAL__sub_I_PointerFlowAnalysis.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageAnalysis.cpp)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(UnsafeBufferUsageAnalysis.cpp.obj):(_GLOBAL__sub_I_UnsafeBufferUsageAnalysis.cpp)

lld-link: error: undefined symbol: public: class std::optional<class clang::ssaf::EntityId> __cdecl clang::ssaf::TUSummaryExtractor::addEntityForReturn(class clang::FunctionDecl const *)
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(EntityPointerLevel.cpp.obj):(private: class llvm::Expected<class std::set<class clang::ssaf::EntityPointerLevel, struct clang::ssaf::EntityPointerLevel::Comparator, class std::allocator<class clang::ssaf::EntityPointerLevel>>> __cdecl clang::ssaf::EntityPointerLevelTranslator::VisitCallExpr(class clang::CallExpr const *))
>>> referenced by clangScalableStaticAnalysisFrameworkAnalyses.lib(EntityPointerLevel.cpp.obj):(private: class llvm::Expected<class clang::ssaf::EntityPointerLevel> __cdecl clang::ssaf::EntityPointerLevelTranslator::createEntityPointerLevelForReturn(class clang::FunctionDecl const *))
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-commits mailing list