[clang-tools-extra] [clang-tidy] Refactor the build system (PR #173518)

via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 24 19:12:21 PST 2025


github-actions[bot] wrote:

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

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>[code=4294967295] bin/clang-tidy.exe</summary>

```
FAILED: [code=4294967295] bin/clang-tidy.exe
cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --intdir=tools\clang\tools\extra\clang-tidy\tool\CMakeFiles\clang-tidy.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\clang-tidy.rsp  /out:bin\clang-tidy.exe /implib:lib\clang-tidy.lib /pdb:bin\clang-tidy.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console  && cd ."
LINK: command "C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\clang-tidy.rsp /out:bin\clang-tidy.exe /implib:lib\clang-tidy.lib /pdb:bin\clang-tidy.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::node(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::abseil::makeRewriteRule(class llvm::ArrayRef<class llvm::StringRef>, class llvm::StringRef))
>>> referenced 31 more times

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 13 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::callArgs(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class llvm::StringRef)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[49]>(char const (&)[49]))
>>> referenced 18 more times

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::catVector(class std::vector<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>, class std::allocator<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced 14 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(class llvm::SmallVector<struct clang::transformer::ASTEdit, 1>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>(class clang::ast_matchers::internal::DynTypedMatcher, class std::initializer_list<struct clang::transformer::ASTEdit>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj)

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced 2 more times

lld-link: error: undefined symbol: char const *const clang::transformer::RootID
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 3 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::expansion(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class llvm::StringRef, enum clang::transformer::IncludeFormat)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::remove(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced 7 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::name(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::access(class llvm::StringRef, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(struct clang::transformer::ASTEdit)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, struct clang::transformer::ASTEdit>(class clang::ast_matchers::internal::DynTypedMatcher, struct clang::transformer::ASTEdit &&, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))

lld-link: error: undefined symbol: public: static class llvm::IntrusiveRefCntPtr<struct clang::query::Query> __cdecl clang::query::QueryParser::parse(class llvm::StringRef, class clang::query::QuerySession const &)
>>> referenced by clangTidy.lib(QueryCheck.cpp.obj):(public: __cdecl clang::tidy::custom::QueryCheck::QueryCheck(class llvm::StringRef, struct clang::tidy::ClangTidyOptions::CustomCheckValue const &, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::noopEdit(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(UseNewMLIROpBuilderCheck.cpp.obj):(public: __cdecl clang::tidy::llvm_check::UseNewMlirOpBuilderCheck::UseNewMlirOpBuilderCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::vector<class clang::ast_matchers::internal::DynTypedMatcher, class std::allocator<class clang::ast_matchers::internal::DynTypedMatcher>> __cdecl clang::transformer::detail::buildMatchers(struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::registerMatchers(class clang::ast_matchers::MatchFinder *))

lld-link: error: undefined symbol: unsigned __int64 __cdecl clang::transformer::detail::findSelectedCase(struct clang::ast_matchers::MatchFinder::MatchResult const &, struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::check(struct clang::ast_matchers::MatchFinder::MatchResult const &))
```
</details>
<details>
<summary>[code=4294967295] bin/clangd-indexer.exe</summary>

```
FAILED: [code=4294967295] bin/clangd-indexer.exe
cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --intdir=tools\clang\tools\extra\clangd\indexer\CMakeFiles\clangd-indexer.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\clangd-indexer.rsp  /out:bin\clangd-indexer.exe /implib:lib\clangd-indexer.lib /pdb:bin\clangd-indexer.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console  && cd ."
LINK: command "C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\clangd-indexer.rsp /out:bin\clangd-indexer.exe /implib:lib\clangd-indexer.lib /pdb:bin\clangd-indexer.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::node(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::abseil::makeRewriteRule(class llvm::ArrayRef<class llvm::StringRef>, class llvm::StringRef))
>>> referenced 31 more times

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 13 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::callArgs(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class llvm::StringRef)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[49]>(char const (&)[49]))
>>> referenced 18 more times

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::catVector(class std::vector<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>, class std::allocator<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced 14 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(class llvm::SmallVector<struct clang::transformer::ASTEdit, 1>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>(class clang::ast_matchers::internal::DynTypedMatcher, class std::initializer_list<struct clang::transformer::ASTEdit>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj)

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced 2 more times

lld-link: error: undefined symbol: char const *const clang::transformer::RootID
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 3 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::expansion(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class llvm::StringRef, enum clang::transformer::IncludeFormat)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::remove(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced 7 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::name(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::access(class llvm::StringRef, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(struct clang::transformer::ASTEdit)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, struct clang::transformer::ASTEdit>(class clang::ast_matchers::internal::DynTypedMatcher, struct clang::transformer::ASTEdit &&, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))

lld-link: error: undefined symbol: public: static class llvm::IntrusiveRefCntPtr<struct clang::query::Query> __cdecl clang::query::QueryParser::parse(class llvm::StringRef, class clang::query::QuerySession const &)
>>> referenced by clangTidy.lib(QueryCheck.cpp.obj):(public: __cdecl clang::tidy::custom::QueryCheck::QueryCheck(class llvm::StringRef, struct clang::tidy::ClangTidyOptions::CustomCheckValue const &, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::noopEdit(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(UseNewMLIROpBuilderCheck.cpp.obj):(public: __cdecl clang::tidy::llvm_check::UseNewMlirOpBuilderCheck::UseNewMlirOpBuilderCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::vector<class clang::ast_matchers::internal::DynTypedMatcher, class std::allocator<class clang::ast_matchers::internal::DynTypedMatcher>> __cdecl clang::transformer::detail::buildMatchers(struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::registerMatchers(class clang::ast_matchers::MatchFinder *))

lld-link: error: undefined symbol: unsigned __int64 __cdecl clang::transformer::detail::findSelectedCase(struct clang::ast_matchers::MatchFinder::MatchResult const &, struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::check(struct clang::ast_matchers::MatchFinder::MatchResult const &))
```
</details>
<details>
<summary>[code=4294967295] bin/clangd.exe</summary>

```
FAILED: [code=4294967295] bin/clangd.exe
cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --intdir=tools\clang\tools\extra\clangd\tool\CMakeFiles\clangd.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\clangd.rsp  /out:bin\clangd.exe /implib:lib\clangd.lib /pdb:bin\clangd.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console  && cd ."
LINK: command "C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\clangd.rsp /out:bin\clangd.exe /implib:lib\clangd.lib /pdb:bin\clangd.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::node(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::abseil::makeRewriteRule(class llvm::ArrayRef<class llvm::StringRef>, class llvm::StringRef))
>>> referenced 31 more times

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 13 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::callArgs(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class llvm::StringRef)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[49]>(char const (&)[49]))
>>> referenced 18 more times

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::catVector(class std::vector<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>, class std::allocator<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced 14 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(class llvm::SmallVector<struct clang::transformer::ASTEdit, 1>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>(class clang::ast_matchers::internal::DynTypedMatcher, class std::initializer_list<struct clang::transformer::ASTEdit>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj)

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced 2 more times

lld-link: error: undefined symbol: char const *const clang::transformer::RootID
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 3 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::expansion(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class llvm::StringRef, enum clang::transformer::IncludeFormat)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::remove(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced 7 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::name(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::access(class llvm::StringRef, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(struct clang::transformer::ASTEdit)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, struct clang::transformer::ASTEdit>(class clang::ast_matchers::internal::DynTypedMatcher, struct clang::transformer::ASTEdit &&, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))

lld-link: error: undefined symbol: public: static class llvm::IntrusiveRefCntPtr<struct clang::query::Query> __cdecl clang::query::QueryParser::parse(class llvm::StringRef, class clang::query::QuerySession const &)
>>> referenced by clangTidy.lib(QueryCheck.cpp.obj):(public: __cdecl clang::tidy::custom::QueryCheck::QueryCheck(class llvm::StringRef, struct clang::tidy::ClangTidyOptions::CustomCheckValue const &, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::noopEdit(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(UseNewMLIROpBuilderCheck.cpp.obj):(public: __cdecl clang::tidy::llvm_check::UseNewMlirOpBuilderCheck::UseNewMlirOpBuilderCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::vector<class clang::ast_matchers::internal::DynTypedMatcher, class std::allocator<class clang::ast_matchers::internal::DynTypedMatcher>> __cdecl clang::transformer::detail::buildMatchers(struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::registerMatchers(class clang::ast_matchers::MatchFinder *))

lld-link: error: undefined symbol: unsigned __int64 __cdecl clang::transformer::detail::findSelectedCase(struct clang::ast_matchers::MatchFinder::MatchResult const &, struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::check(struct clang::ast_matchers::MatchFinder::MatchResult const &))
```
</details>
<details>
<summary>[code=4294967295] tools/clang/tools/extra/clangd/unittests/ClangdTests.exe</summary>

```
FAILED: [code=4294967295] tools/clang/tools/extra/clangd/unittests/ClangdTests.exe
cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --intdir=tools\clang\tools\extra\clangd\unittests\CMakeFiles\ClangdTests.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\ClangdTests.rsp  /out:tools\clang\tools\extra\clangd\unittests\ClangdTests.exe /implib:tools\clang\tools\extra\clangd\unittests\ClangdTests.lib /pdb:tools\clang\tools\extra\clangd\unittests\ClangdTests.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console  && cd ."
LINK: command "C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\ClangdTests.rsp /out:tools\clang\tools\extra\clangd\unittests\ClangdTests.exe /implib:tools\clang\tools\extra\clangd\unittests\ClangdTests.lib /pdb:tools\clang\tools\extra\clangd\unittests\ClangdTests.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::node(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::abseil::makeRewriteRule(class llvm::ArrayRef<class llvm::StringRef>, class llvm::StringRef))
>>> referenced 31 more times

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 13 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::callArgs(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(public: __cdecl clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class llvm::StringRef)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[49]>(char const (&)[49]))
>>> referenced 18 more times

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::catVector(class std::vector<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>, class std::allocator<class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>>>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[85]>(char const (&)[85]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[14]>(char const (&)[14]))
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced 14 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(class llvm::SmallVector<struct clang::transformer::ASTEdit, 1>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>(class clang::ast_matchers::internal::DynTypedMatcher, class std::initializer_list<struct clang::transformer::ASTEdit>, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj)

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::detail::makeStencil(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(CleanupCtadCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>>(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::cat<char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, char const (&)[2]>(char const (&)[20], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[3], class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> &&, char const (&)[2]))
>>> referenced 2 more times

lld-link: error: undefined symbol: char const *const clang::transformer::RootID
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::changeTo(class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))
>>> referenced 3 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::expansion(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>, class llvm::StringRef, enum clang::transformer::IncludeFormat)
>>> referenced by clangTidy.lib(StringFindStrContainsCheck.cpp.obj):(struct clang::transformer::ASTEdit __cdecl clang::transformer::addInclude(class llvm::StringRef, enum clang::transformer::IncludeFormat))

lld-link: error: undefined symbol: struct clang::transformer::ASTEdit __cdecl clang::transformer::remove(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced 7 more times

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::name(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>> __cdecl clang::transformer::access(class llvm::StringRef, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::tidy::bugprone::stringviewNullptrCheckImpl(void))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::detail::makeEditGenerator(struct clang::transformer::ASTEdit)
>>> referenced by clangTidy.lib(StringviewNullptrCheck.cpp.obj):(struct clang::transformer::RewriteRuleWith<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>> __cdecl clang::transformer::makeRule<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, struct clang::transformer::ASTEdit>(class clang::ast_matchers::internal::DynTypedMatcher, struct clang::transformer::ASTEdit &&, class std::shared_ptr<class clang::transformer::MatchComputation<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>>))

lld-link: error: undefined symbol: public: static class llvm::IntrusiveRefCntPtr<struct clang::query::Query> __cdecl clang::query::QueryParser::parse(class llvm::StringRef, class clang::query::QuerySession const &)
>>> referenced by clangTidy.lib(QueryCheck.cpp.obj):(public: __cdecl clang::tidy::custom::QueryCheck::QueryCheck(class llvm::StringRef, struct clang::tidy::ClangTidyOptions::CustomCheckValue const &, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::function<class llvm::Expected<class llvm::SmallVector<struct clang::transformer::Edit, 1>> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)> __cdecl clang::transformer::noopEdit(class std::function<class llvm::Expected<class clang::CharSourceRange> __cdecl(struct clang::ast_matchers::MatchFinder::MatchResult const &)>)
>>> referenced by clangTidy.lib(UseNewMLIROpBuilderCheck.cpp.obj):(public: __cdecl clang::tidy::llvm_check::UseNewMlirOpBuilderCheck::UseNewMlirOpBuilderCheck(class llvm::StringRef, class clang::tidy::ClangTidyContext *))

lld-link: error: undefined symbol: class std::vector<class clang::ast_matchers::internal::DynTypedMatcher, class std::allocator<class clang::ast_matchers::internal::DynTypedMatcher>> __cdecl clang::transformer::detail::buildMatchers(struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::registerMatchers(class clang::ast_matchers::MatchFinder *))

lld-link: error: undefined symbol: unsigned __int64 __cdecl clang::transformer::detail::findSelectedCase(struct clang::ast_matchers::MatchFinder::MatchResult const &, struct clang::transformer::RewriteRuleBase const &)
>>> referenced by clangTidy.lib(TransformerClangTidyCheck.cpp.obj):(public: virtual void __cdecl clang::tidy::utils::TransformerClangTidyCheck::check(struct clang::ast_matchers::MatchFinder::MatchResult 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/173518


More information about the cfe-commits mailing list