Skip to content

Commit 4429887

Browse files
authored
[cmake][win] Fix conda build (with external LLVM & Clang) (#19713)
* [cmake][win] Fix conda build (with external LLVM & Clang) Fix the following errors when building with conda (with -Dbuiltin_llvm=OFF -Dbuiltin_clang=OFF): ``` clangCodeGen.lib(CGHLSLRuntime.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl llvm::hlsl::FrontendResource::FrontendResource(class llvm::GlobalVariable *,enum llvm::hlsl::ResourceKind,enum llvm::hlsl::ElementType,bool,unsigned int,unsigned int)" (??0FrontendResource@hlsl@llvm@@QEAA@PEAVGlobalVariable@2@W4ResourceKind@12@W4ElementType@12@_NII@Z) referenced in function "private: void __cdecl clang::CodeGen::CGHLSLRuntime::addBufferResourceAnnotation(class llvm::GlobalVariable *,enum llvm::hlsl::ResourceClass,enum llvm::hlsl::ResourceKind,bool,enum llvm::hlsl::ElementType,struct clang::CodeGen::CGHLSLRuntime::BufferResBinding &)" (?addBufferResourceAnnotation@CGHLSLRuntime@CodeGen@clang@@AEAAXPEAVGlobalVariable@llvm@@W4ResourceClass@hlsl@5@W4ResourceKind@75@_NW4ElementType@75@AEAUBufferResBinding@123@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangCodeGen.lib(BackendUtil.cpp.obj) : error LNK2019: unresolved external symbol "class llvm::TargetLibraryInfoImpl * __cdecl llvm::driver::createTLII(class llvm::Triple &,enum llvm::driver::VectorLibrary)" (?createTLII@driver@llvm@@YAPEAVTargetLibraryInfoImpl@2@AEAVTriple@2@W4VectorLibrary@12@@Z) referenced in function "private: void __cdecl `anonymous namespace'::EmitAssemblyHelper::RunCodegenPipeline(enum clang::BackendAction,class std::unique_ptr<class llvm::raw_pwrite_stream,struct std::default_delete<class llvm::raw_pwrite_stream> > &,class std::unique_ptr<class llvm::ToolOutputFile,struct std::default_delete<class llvm::ToolOutputFile> > &)" (?RunCodegenPipeline@EmitAssemblyHelper@?A0xf6347985@@AEAAXW4BackendAction@clang@@AEAV?$unique_ptr@Vraw_pwrite_stream@llvm@@U?$default_delete@Vraw_pwrite_stream@llvm@@@std@@@std@@AEAV?$unique_ptr@VToolOutputFile@llvm@@U?$default_delete@VToolOutputFile@llvm@@@std@@@6@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangDriver.lib(MSVC.cpp.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoSizeW referenced in function "class llvm::VersionTuple __cdecl getMSVCVersionFromExe(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?getMSVCVersionFromExe@@YA?AVVersionTuple@llvm@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangDriver.lib(MSVC.cpp.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoW referenced in function "class llvm::VersionTuple __cdecl getMSVCVersionFromExe(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?getMSVCVersionFromExe@@YA?AVVersionTuple@llvm@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangDriver.lib(MSVC.cpp.obj) : error LNK2019: unresolved external symbol VerQueryValueW referenced in function "class llvm::VersionTuple __cdecl getMSVCVersionFromExe(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?getMSVCVersionFromExe@@YA?AVVersionTuple@llvm@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangFrontend.lib(CompilerInstance.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl clang::api_notes::APINotesManager::loadCurrentModuleAPINotes(class clang::Module *,bool,class llvm::ArrayRef<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >)" (?loadCurrentModuleAPINotes@APINotesManager@api_notes@clang@@QEAA_NPEAVModule@3@_NV?$ArrayRef@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@llvm@@@Z) referenced in function "public: void __cdecl clang::CompilerInstance::createSema(enum clang::TranslationUnitKind,class clang::CodeCompleteConsumer *)" (?createSema@CompilerInstance@clang@@QEAAXW4TranslationUnitKind@2@PEAVCodeCompleteConsumer@2@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(Sema.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl clang::api_notes::APINotesManager::APINotesManager(class clang::SourceManager &,class clang::LangOptions const &)" (??0APINotesManager@api_notes@clang@@QEAA@AEAVSourceManager@2@AEBVLangOptions@2@@Z) referenced in function "public: __cdecl clang::Sema::Sema(class clang::Preprocessor &,class clang::ASTContext &,class clang::ASTConsumer &,enum clang::TranslationUnitKind,class clang::CodeCompleteConsumer *)" (??0Sema@clang@@QEAA@AEAVPreprocessor@1@AEAVASTContext@1@AEAVASTConsumer@1@W4TranslationUnitKind@1@PEAVCodeCompleteConsumer@1@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(Sema.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl clang::api_notes::APINotesManager::~APINotesManager(void)" (??1APINotesManager@api_notes@clang@@QEAA@XZ) referenced in function "public: __cdecl clang::Sema::~Sema(void)" (??1Sema@clang@@QEAA@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(SemaRISCVVectorLookup.cpp.obj) : error LNK2019: unresolved external symbol "public: class std::optional<class std::vector<class clang::RISCV::RVVType *,class std::allocator<class clang::RISCV::RVVType *> > > __cdecl clang::RISCV::RVVTypeCache::computeTypes(enum clang::RISCV::BasicType,int,unsigned int,class llvm::ArrayRef<struct clang::RISCV::PrototypeDescriptor>)" (?computeTypes@RVVTypeCache@RISCV@clang@@QEAA?AV?$optional@V?$vector@PEAVRVVType@RISCV@clang@@V?$allocator@PEAVRVVType@RISCV@clang@@@std@@@std@@@std@@W4BasicType@23@HIV?$ArrayRef@UPrototypeDescriptor@RISCV@clang@@@llvm@@@Z) referenced in function "private: void __cdecl `anonymous namespace'::RISCVIntrinsicManagerImpl::ConstructRVVIntrinsics(class llvm::ArrayRef<struct clang::RISCV::RVVIntrinsicRecord>,enum clang::sema::RISCVIntrinsicManager::IntrinsicKind)" (?ConstructRVVIntrinsics@RISCVIntrinsicManagerImpl@?A0x08ddc546@@AEAAXV?$ArrayRef@URVVIntrinsicRecord@RISCV@clang@@@llvm@@W4IntrinsicKind@RISCVIntrinsicManager@sema@clang@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(SemaRISCVVectorLookup.cpp.obj) : error LNK2019: unresolved external symbol "public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl clang::RISCV::RVVIntrinsic::getSuffixStr(class clang::RISCV::RVVTypeCache &,enum clang::RISCV::BasicType,int,class llvm::ArrayRef<struct clang::RISCV::PrototypeDescriptor>)" (?getSuffixStr@RVVIntrinsic@RISCV@clang@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAVRVVTypeCache@23@W4BasicType@23@HV?$ArrayRef@UPrototypeDescriptor@RISCV@clang@@@llvm@@@Z) referenced in function "private: void __cdecl `anonymous namespace'::RISCVIntrinsicManagerImpl::ConstructRVVIntrinsics(class llvm::ArrayRef<struct clang::RISCV::RVVIntrinsicRecord>,enum clang::sema::RISCVIntrinsicManager::IntrinsicKind)" (?ConstructRVVIntrinsics@RISCVIntrinsicManagerImpl@?A0x08ddc546@@AEAAXV?$ArrayRef@URVVIntrinsicRecord@RISCV@clang@@@llvm@@W4IntrinsicKind@RISCVIntrinsicManager@sema@clang@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(SemaRISCVVectorLookup.cpp.obj) : error LNK2019: unresolved external symbol "public: static class llvm::SmallVector<struct clang::RISCV::PrototypeDescriptor,13> __cdecl clang::RISCV::RVVIntrinsic::computeBuiltinTypes(class llvm::ArrayRef<struct clang::RISCV::PrototypeDescriptor>,bool,bool,bool,unsigned int,enum clang::RISCV::PolicyScheme,class clang::RISCV::Policy,bool)" (?computeBuiltinTypes@RVVIntrinsic@RISCV@clang@@SA?AV?$SmallVector@UPrototypeDescriptor@RISCV@clang@@$0N@@llvm@@V?$ArrayRef@UPrototypeDescriptor@RISCV@clang@@@5@_N11IW4PolicyScheme@23@VPolicy@23@1@Z) referenced in function "private: void __cdecl `anonymous namespace'::RISCVIntrinsicManagerImpl::ConstructRVVIntrinsics(class llvm::ArrayRef<struct clang::RISCV::RVVIntrinsicRecord>,enum clang::sema::RISCVIntrinsicManager::IntrinsicKind)" (?ConstructRVVIntrinsics@RISCVIntrinsicManagerImpl@?A0x08ddc546@@AEAAXV?$ArrayRef@URVVIntrinsicRecord@RISCV@clang@@@llvm@@W4IntrinsicKind@RISCVIntrinsicManager@sema@clang@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(SemaRISCVVectorLookup.cpp.obj) : error LNK2019: unresolved external symbol "public: static class llvm::SmallVector<class clang::RISCV::Policy,6> __cdecl clang::RISCV::RVVIntrinsic::getSupportedUnMaskedPolicies(void)" (?getSupportedUnMaskedPolicies@RVVIntrinsic@RISCV@clang@@SA?AV?$SmallVector@VPolicy@RISCV@clang@@$05@llvm@@XZ) referenced in function "private: void __cdecl `anonymous namespace'::RISCVIntrinsicManagerImpl::ConstructRVVIntrinsics(class llvm::ArrayRef<struct clang::RISCV::RVVIntrinsicRecord>,enum clang::sema::RISCVIntrinsicManager::IntrinsicKind)" (?ConstructRVVIntrinsics@RISCVIntrinsicManagerImpl@?A0x08ddc546@@AEAAXV?$ArrayRef@URVVIntrinsicRecord@RISCV@clang@@@llvm@@W4IntrinsicKind@RISCVIntrinsicManager@sema@clang@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(SemaRISCVVectorLookup.cpp.obj) : error LNK2019: unresolved external symbol "public: static class llvm::SmallVector<class clang::RISCV::Policy,6> __cdecl clang::RISCV::RVVIntrinsic::getSupportedMaskedPolicies(bool,bool)" (?getSupportedMaskedPolicies@RVVIntrinsic@RISCV@clang@@SA?AV?$SmallVector@VPolicy@RISCV@clang@@$05@llvm@@_N0@Z) referenced in function "private: void __cdecl `anonymous namespace'::RISCVIntrinsicManagerImpl::ConstructRVVIntrinsics(class llvm::ArrayRef<struct clang::RISCV::RVVIntrinsicRecord>,enum clang::sema::RISCVIntrinsicManager::IntrinsicKind)" (?ConstructRVVIntrinsics@RISCVIntrinsicManagerImpl@?A0x08ddc546@@AEAAXV?$ArrayRef@URVVIntrinsicRecord@RISCV@clang@@@llvm@@W4IntrinsicKind@RISCVIntrinsicManager@sema@clang@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangSema.lib(SemaRISCVVectorLookup.cpp.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl clang::RISCV::RVVIntrinsic::updateNamesAndPolicy(bool,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class clang::RISCV::Policy &,bool)" (?updateNamesAndPolicy@RVVIntrinsic@RISCV@clang@@SAX_N0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@11AEAVPolicy@23@0@Z) referenced in function "private: void __cdecl `anonymous namespace'::RISCVIntrinsicManagerImpl::InitRVVIntrinsic(struct clang::RISCV::RVVIntrinsicRecord const &,class llvm::StringRef,class llvm::StringRef,bool,class std::vector<class clang::RISCV::RVVType *,class std::allocator<class clang::RISCV::RVVType *> > &,bool,class clang::RISCV::Policy)" (?InitRVVIntrinsic@RISCVIntrinsicManagerImpl@?A0x08ddc546@@AEAAXAEBURVVIntrinsicRecord@RISCV@clang@@VStringRef@llvm@@1_NAEAV?$vector@PEAVRVVType@RISCV@clang@@V?$allocator@PEAVRVVType@RISCV@clang@@@std@@@std@@2VPolicy@45@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: void __cdecl clang::ast_matchers::internal::BoundNodesTreeBuilder::addMatch(class clang::ast_matchers::internal::BoundNodesTreeBuilder const &)" (?addMatch@BoundNodesTreeBuilder@internal@ast_matchers@clang@@QEAAXAEBV1234@@Z) referenced in function "private: bool __cdecl clang::ast_matchers::MatchDescendantVisitor::match<class clang::Stmt>(class clang::Stmt const &)" (??$match@VStmt@clang@@@MatchDescendantVisitor@ast_matchers@clang@@AEAA_NAEBVStmt@2@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: static class clang::ast_matchers::internal::DynTypedMatcher __cdecl clang::ast_matchers::internal::DynTypedMatcher::constructVariadic(enum clang::ast_matchers::internal::DynTypedMatcher::VariadicOperator,class clang::ASTNodeKind,class std::vector<class clang::ast_matchers::internal::DynTypedMatcher,class std::allocator<class clang::ast_matchers::internal::DynTypedMatcher> >)" (?constructVariadic@DynTypedMatcher@internal@ast_matchers@clang@@SA?AV1234@W4VariadicOperator@1234@VASTNodeKind@4@V?$vector@VDynTypedMatcher@internal@ast_matchers@clang@@V?$allocator@VDynTypedMatcher@internal@ast_matchers@clang@@@std@@@std@@@Z) referenced in function "public: __cdecl clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &,class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &>::operator<class clang::BinaryOperator> class clang::ast_matchers::internal::Matcher<class clang::BinaryOperator>(void)&& " (??$?BVBinaryOperator@clang@@@?$VariadicOperatorMatcher@AEAV?$VariadicOperatorMatcher@V?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VCXXFoldExpr@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V1234@V1234@V1234@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@internal@ast_matchers@clang@@AEAV?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VCXXFoldExpr@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@234@@internal@ast_matchers@clang@@QEHAA?AV?$Matcher@VBinaryOperator@clang@@@123@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: static class clang::ast_matchers::internal::DynTypedMatcher __cdecl clang::ast_matchers::internal::DynTypedMatcher::trueMatcher(class clang::ASTNodeKind)" (?trueMatcher@DynTypedMatcher@internal@ast_matchers@clang@@SA?AV1234@VASTNodeKind@4@@Z) referenced in function "class clang::ast_matchers::internal::BindableMatcher<class clang::ArrayInitIndexExpr> __cdecl clang::ast_matchers::internal::makeAllOfComposite<class clang::ArrayInitIndexExpr>(class llvm::ArrayRef<class clang::ast_matchers::internal::Matcher<class clang::ArrayInitIndexExpr> const *>)" (??$makeAllOfComposite@VArrayInitIndexExpr@clang@@@internal@ast_matchers@clang@@YA?AV?$BindableMatcher@VArrayInitIndexExpr@clang@@@012@V?$ArrayRef@PEBV?$Matcher@VArrayInitIndexExpr@clang@@@internal@ast_matchers@clang@@@llvm@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: class clang::ast_matchers::internal::DynTypedMatcher __cdecl clang::ast_matchers::internal::DynTypedMatcher::dynCastTo(class clang::ASTNodeKind)const " (?dynCastTo@DynTypedMatcher@internal@ast_matchers@clang@@QEBA?AV1234@VASTNodeKind@4@@Z) referenced in function "public: __cdecl clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &,class clang::ast_matchers::internal::VariadicOperatorMatcher<class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasOperatorName0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::CXXFoldExpr,class clang::UnaryOperator>),class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasRHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> >,class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::matcher_hasLHS0Matcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::ArraySubscriptExpr,class clang::CXXFoldExpr>),class clang::ast_matchers::internal::Matcher<class clang::Expr> > > &>::operator<class clang::BinaryOperator> class clang::ast_matchers::internal::Matcher<class clang::BinaryOperator>(void)&& " (??$?BVBinaryOperator@clang@@@?$VariadicOperatorMatcher@AEAV?$VariadicOperatorMatcher@V?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VCXXFoldExpr@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V1234@V1234@V1234@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@internal@ast_matchers@clang@@AEAV?$VariadicOperatorMatcher@V?$PolymorphicMatcher@Vmatcher_hasOperatorName0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VCXXFoldExpr@2@VUnaryOperator@2@@234@@ZV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@internal@ast_matchers@clang@@V?$PolymorphicMatcher@Vmatcher_hasRHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@V?$PolymorphicMatcher@Vmatcher_hasLHS0Matcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VArraySubscriptExpr@2@VCXXFoldExpr@2@@234@@ZV?$Matcher@VExpr@clang@@@234@@234@@234@@internal@ast_matchers@clang@@QEHAA?AV?$Matcher@VBinaryOperator@clang@@@123@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl clang::ast_matchers::internal::DynTypedMatcher::matches(class clang::DynTypedNode const &,class clang::ast_matchers::internal::ASTMatchFinder *,class clang::ast_matchers::internal::BoundNodesTreeBuilder *)const " (?matches@DynTypedMatcher@internal@ast_matchers@clang@@QEBA_NAEBVDynTypedNode@4@PEAVASTMatchFinder@234@PEAVBoundNodesTreeBuilder@234@@Z) referenced in function "private: bool __cdecl clang::ast_matchers::MatchDescendantVisitor::match<class clang::Stmt>(class clang::Stmt const &)" (??$match@VStmt@clang@@@MatchDescendantVisitor@ast_matchers@clang@@AEAA_NAEBVStmt@2@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: class std::optional<class clang::ast_matchers::internal::DynTypedMatcher> __cdecl clang::ast_matchers::internal::DynTypedMatcher::tryBind(class llvm::StringRef)const " (?tryBind@DynTypedMatcher@internal@ast_matchers@clang@@QEBA?AV?$optional@VDynTypedMatcher@internal@ast_matchers@clang@@@std@@VStringRef@llvm@@@Z) referenced in function "public: class clang::ast_matchers::internal::Matcher<class clang::Stmt> __cdecl clang::ast_matchers::internal::BindableMatcher<class clang::Stmt>::bind(class llvm::StringRef)const " (?bind@?$BindableMatcher@VStmt@clang@@@internal@ast_matchers@clang@@QEBA?AV?$Matcher@VStmt@clang@@@234@VStringRef@llvm@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl clang::ast_matchers::internal::ASTMatchFinder::isTraversalIgnoringImplicitNodes(void)const " (?isTraversalIgnoringImplicitNodes@ASTMatchFinder@internal@ast_matchers@clang@@QEBA_NXZ) referenced in function "public: virtual bool __cdecl clang::ast_matchers::internal::HasDeclarationMatcher<class clang::CXXConstructExpr,class clang::ast_matchers::internal::Matcher<class clang::Decl> >::matches(class clang::CXXConstructExpr const &,class clang::ast_matchers::internal::ASTMatchFinder *,class clang::ast_matchers::internal::BoundNodesTreeBuilder *)const " (?matches@?$HasDeclarationMatcher@VCXXConstructExpr@clang@@V?$Matcher@VDecl@clang@@@internal@ast_matchers@2@@internal@ast_matchers@clang@@UEBA_NAEBVCXXConstructExpr@4@PEAVASTMatchFinder@234@PEAVBoundNodesTreeBuilder@234@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl clang::ast_matchers::internal::HasNameMatcher::HasNameMatcher(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >)" (??0HasNameMatcher@internal@ast_matchers@clang@@QEAA@V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@Z) referenced in function "class clang::ast_matchers::internal::Matcher<class clang::NamedDecl> __cdecl clang::ast_matchers::hasName(class llvm::StringRef)" (?hasName@ast_matchers@clang@@YA?AV?$Matcher@VNamedDecl@clang@@@internal@12@VStringRef@llvm@@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::PolymorphicMatcher<class clang::ast_matchers::internal::HasAnyOperatorNameMatcher,void __cdecl(struct clang::ast_matchers::internal::TypeList<class clang::BinaryOperator,class clang::CXXOperatorCallExpr,class clang::CXXRewrittenBinaryOperator,class clang::UnaryOperator>),class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > __cdecl clang::ast_matchers::internal::hasAnyOperatorNameFunc(class llvm::ArrayRef<class llvm::StringRef const *>)" (?hasAnyOperatorNameFunc@internal@ast_matchers@clang@@YA?AV?$PolymorphicMatcher@VHasAnyOperatorNameMatcher@internal@ast_matchers@clang@@$$A6AXU?$TypeList@VBinaryOperator@clang@@VCXXOperatorCallExpr@2@VCXXRewrittenBinaryOperator@2@VUnaryOperator@2@@234@@ZV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@123@V?$ArrayRef@PEBVStringRef@llvm@@@llvm@@@Z) referenced in function "__cdecl clang::ast_matchers::isInUnspecifiedLvalueContext(class clang::ast_matchers::internal::Matcher<class clang::Expr>)" (?isInUnspecifiedLvalueContext@ast_matchers@clang@@YA@V?$Matcher@VExpr@clang@@@internal@12@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl clang::ast_matchers::MatchFinder::MatchCallback::~MatchCallback(void)" (??1MatchCallback@MatchFinder@ast_matchers@clang@@UEAA@XZ) referenced in function "public: virtual __cdecl `class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)'::`2'::GadgetFinderCallback::~GadgetFinderCallback(void)" (??1GadgetFinderCallback@?1??findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@5@_N@Z@UEAA@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual class llvm::StringRef __cdecl clang::ast_matchers::MatchFinder::MatchCallback::getID(void)const " (?getID@MatchCallback@MatchFinder@ast_matchers@clang@@UEBA?AVStringRef@llvm@@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "public: virtual class std::optional<enum clang::TraversalKind> __cdecl clang::ast_matchers::MatchFinder::MatchCallback::getCheckTraversalKind(void)const " (?getCheckTraversalKind@MatchCallback@MatchFinder@ast_matchers@clang@@UEBA?AV?$optional@W4TraversalKind@clang@@@std@@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl clang::ast_matchers::MatchFinder::MatchFinder(struct clang::ast_matchers::MatchFinder::MatchFinderOptions)" (??0MatchFinder@ast_matchers@clang@@QEAA@UMatchFinderOptions@012@@Z) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl clang::ast_matchers::MatchFinder::~MatchFinder(void)" (??1MatchFinder@ast_matchers@clang@@QEAA@XZ) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: void __cdecl clang::ast_matchers::MatchFinder::addMatcher(class clang::ast_matchers::internal::Matcher<class clang::Stmt> const &,class clang::ast_matchers::MatchFinder::MatchCallback *)" (?addMatcher@MatchFinder@ast_matchers@clang@@QEAAXAEBV?$Matcher@VStmt@clang@@@internal@23@PEAVMatchCallback@123@@Z) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "public: void __cdecl clang::ast_matchers::MatchFinder::match(class clang::DynTypedNode const &,class clang::ASTContext &)" (?match@MatchFinder@ast_matchers@clang@@QEAAXAEBVDynTypedNode@3@AEAVASTContext@3@@Z) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::BindingDecl> const clang::ast_matchers::bindingDecl" (?bindingDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VBindingDecl@2@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::CXXConstructorDecl> const clang::ast_matchers::cxxConstructorDecl" (?cxxConstructorDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VCXXConstructorDecl@2@@internal@12@B) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::CXXMethodDecl> const clang::ast_matchers::cxxMethodDecl" (?cxxMethodDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VCXXMethodDecl@2@@internal@12@B) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::VarDecl> const clang::ast_matchers::varDecl" (?varDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VVarDecl@2@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Decl,class clang::FunctionDecl> const clang::ast_matchers::functionDecl" (?functionDecl@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VDecl@clang@@VFunctionDecl@2@@internal@12@B) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicAllOfMatcher<class clang::Stmt> const clang::ast_matchers::stmt" (?stmt@ast_matchers@clang@@3V?$VariadicAllOfMatcher@VStmt@clang@@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::DeclStmt> const clang::ast_matchers::declStmt" (?declStmt@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VDeclStmt@2@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::CallExpr> const clang::ast_matchers::callExpr" (?callExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VCallExpr@2@@internal@12@B) referenced in function "class clang::ast_matchers::internal::Matcher<class clang::Stmt> __cdecl clang::ast_matchers::isInUnspecifiedPointerContext(class clang::ast_matchers::internal::Matcher<class clang::Stmt>)" (?isInUnspecifiedPointerContext@ast_matchers@clang@@YA?AV?$Matcher@VStmt@clang@@@internal@12@V3412@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::CXXConstructExpr> const clang::ast_matchers::cxxConstructExpr" (?cxxConstructExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VCXXConstructExpr@2@@internal@12@B) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::ArraySubscriptExpr> const clang::ast_matchers::arraySubscriptExpr" (?arraySubscriptExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VArraySubscriptExpr@2@@internal@12@B) referenced in function "public: static class clang::ast_matchers::internal::BindableMatcher<class clang::Stmt> __cdecl `anonymous namespace'::ArraySubscriptGadget::matcher(void)" (?matcher@ArraySubscriptGadget@?A0xd024a08f@@SA?AV?$BindableMatcher@VStmt@clang@@@internal@ast_matchers@clang@@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::CXXOperatorCallExpr> const clang::ast_matchers::cxxOperatorCallExpr" (?cxxOperatorCallExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VCXXOperatorCallExpr@2@@internal@12@B) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2001: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::Expr> const clang::ast_matchers::expr" (?expr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VExpr@2@@internal@12@B) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::DeclRefExpr> const clang::ast_matchers::declRefExpr" (?declRefExpr@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VDeclRefExpr@2@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::BinaryOperator> const clang::ast_matchers::binaryOperator" (?binaryOperator@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VBinaryOperator@2@@internal@12@B) referenced in function "class clang::ast_matchers::internal::Matcher<class clang::Stmt> __cdecl clang::ast_matchers::isInUnspecifiedPointerContext(class clang::ast_matchers::internal::Matcher<class clang::Stmt>)" (?isInUnspecifiedPointerContext@ast_matchers@clang@@YA?AV?$Matcher@VStmt@clang@@@internal@12@V3412@@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Stmt,class clang::UnaryOperator> const clang::ast_matchers::unaryOperator" (?unaryOperator@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VStmt@clang@@VUnaryOperator@2@@internal@12@B) referenced in function "public: static class clang::ast_matchers::internal::BindableMatcher<class clang::Stmt> __cdecl DerefSimplePtrArithFixableGadget::matcher(void)" (?matcher@DerefSimplePtrArithFixableGadget@@SA?AV?$BindableMatcher@VStmt@clang@@@internal@ast_matchers@clang@@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<2,4294967295> const clang::ast_matchers::eachOf" (?eachOf@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$01$0PPPPPPPP@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<2,4294967295> const clang::ast_matchers::anyOf" (?anyOf@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$01$0PPPPPPPP@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<2,4294967295> const clang::ast_matchers::allOf" (?allOf@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$01$0PPPPPPPP@@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "struct clang::ast_matchers::internal::VariadicOperatorMatcherFunc<1,1> const clang::ast_matchers::unless" (?unless@ast_matchers@clang@@3U?$VariadicOperatorMatcherFunc@$00$00@internal@12@B) referenced in function "class std::tuple<class std::vector<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::FixableGadget,struct std::default_delete<class `anonymous namespace'::FixableGadget> > > >,class std::vector<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> >,class std::allocator<class std::unique_ptr<class `anonymous namespace'::WarningGadget,struct std::default_delete<class `anonymous namespace'::WarningGadget> > > >,class `anonymous namespace'::DeclUseTracker> __cdecl findGadgets(class clang::Decl const *,class clang::UnsafeBufferUsageHandler const &,bool)" (?findGadgets@@YA?AV?$tuple@V?$vector@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VFixableGadget@?A0xd024a08f@@U?$default_delete@VFixableGadget@?A0xd024a08f@@@std@@@std@@@2@@std@@V?$vector@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@V?$allocator@V?$unique_ptr@VWarningGadget@?A0xd024a08f@@U?$default_delete@VWarningGadget@?A0xd024a08f@@@std@@@std@@@2@@2@VDeclUseTracker@?A0xd024a08f@@@std@@PEBVDecl@clang@@AEBVUnsafeBufferUsageHandler@4@_N@Z) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] clangAnalysis.lib(UnsafeBufferUsage.cpp.obj) : error LNK2019: unresolved external symbol "class clang::ast_matchers::internal::VariadicDynCastAllOfMatcher<class clang::Type,class clang::PointerType> const clang::ast_matchers::pointerType" (?pointerType@ast_matchers@clang@@3V?$VariadicDynCastAllOfMatcher@VType@clang@@VPointerType@2@@internal@12@B) referenced in function "__cdecl clang::ast_matchers::hasPointerType(void)" (?hasPointerType@ast_matchers@clang@@YA@XZ) [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] %SRC_DIR%\build\bin\rootcling_stage1.exe : fatal error LNK1120: 50 unresolved externals [%SRC_DIR%\build\core\rootcling_stage1\rootcling_stage1.vcxproj] ``` * Remove unnecessary code * [cmake] reduce code duplication
1 parent 12a0e7f commit 4429887

File tree

4 files changed

+45
-7
lines changed

4 files changed

+45
-7
lines changed

cmake/modules/RootMacros.cmake

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3432,3 +3432,26 @@ function(ROOTTEST_LINKER_LIBRARY library)
34323432
${CMAKE_CURRENT_BINARY_DIR}/lib${library}.lib)
34333433
endif()
34343434
endfunction()
3435+
3436+
#---------------------------------------------------------------------------------------------------
3437+
# ROOT_GET_CLANG_LIBRARIES( clang_libraries )
3438+
#
3439+
# this function is used to collect the required libraries when building ROOT with external
3440+
# LLVM & Clang, like in Conda for example.
3441+
#---------------------------------------------------------------------------------------------------
3442+
function (ROOT_GET_CLANG_LIBRARIES clang_libraries)
3443+
set(found_libraries "")
3444+
FILE(GLOB clangLibs ${LLVM_LIBRARY_DIR}/clang*.lib)
3445+
foreach(lib_path IN LISTS clangLibs)
3446+
get_filename_component(lib_name ${lib_path} NAME)
3447+
if (NOT ${lib_name} IN_LIST found_libraries)
3448+
list(APPEND found_libraries ${lib_name})
3449+
endif()
3450+
endforeach(lib_path)
3451+
foreach(extra_lib "LLVMFrontendDriver.lib" "LLVMFrontendHLSL.lib" "Version.lib")
3452+
if (NOT ${extra_lib} IN_LIST found_libraries)
3453+
list(APPEND found_libraries ${extra_lib})
3454+
endif()
3455+
endforeach(extra_lib)
3456+
SET(${clang_libraries} "${found_libraries}" PARENT_SCOPE)
3457+
endfunction(ROOT_GET_CLANG_LIBRARIES)

core/clingutils/test/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ endif()
2828

2929
if(NOT builtin_clang)
3030
link_directories("${LLVM_LIBRARY_DIR}")
31+
if(MSVC)
32+
set(clang_libraries)
33+
ROOT_GET_CLANG_LIBRARIES(clang_libraries)
34+
list(APPEND CLING_LIBRARIES "${clang_libraries}")
35+
endif()
3136
endif()
3237

3338
ROOT_ADD_UNITTEST_DIR(Core ${CLING_LIBRARIES} $<TARGET_OBJECTS:ClingUtils>)

core/metacling/src/CMakeLists.txt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,18 @@ add_dependencies(MetaCling CLING clangCppInterOp)
8787

8888
if(NOT builtin_clang)
8989
set(prefixed_link_libraries)
90-
foreach(dep ${CLING_DEPEND_LIBS})
91-
if("${dep}" MATCHES "^clang")
92-
set(dep "${LLVM_LIBRARY_DIR}/lib${dep}.a")
93-
endif()
94-
list(APPEND prefixed_link_libraries "${dep}")
95-
endforeach()
90+
if(MSVC)
91+
set(clang_libraries)
92+
ROOT_GET_CLANG_LIBRARIES(clang_libraries)
93+
list(APPEND prefixed_link_libraries "${clang_libraries}")
94+
else()
95+
foreach(dep ${CLING_DEPEND_LIBS})
96+
if("${dep}" MATCHES "^clang")
97+
set(dep "${LLVM_LIBRARY_DIR}/${dep}.a")
98+
endif()
99+
list(APPEND prefixed_link_libraries "${dep}")
100+
endforeach()
101+
endif()
96102
set(LINK_LIBS "${prefixed_link_libraries}")
97103
link_directories("${LLVM_LIBRARY_DIR}")
98104
endif()

core/rootcling_stage1/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ endif()
2020
if(builtin_clang)
2121
set(CLING_LIBRARIES "clingMetaProcessor")
2222
else()
23-
list(APPEND CLING_LIBRARIES ${CLING_DEPEND_LIBS})
23+
set(clang_libraries)
24+
if(MSVC)
25+
ROOT_GET_CLANG_LIBRARIES(clang_libraries)
26+
endif()
27+
list(APPEND CLING_LIBRARIES ${CLING_DEPEND_LIBS} "${clang_libraries}")
2428
link_directories("${LLVM_LIBRARY_DIR}")
2529
endif()
2630

0 commit comments

Comments
 (0)