[llvm-branch-commits] [clang] [SSAF][Analyses] Add an AST visitor for the contribution model (PR #191933)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Apr 20 22:51:56 PDT 2026
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=1] tools/clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeFiles/obj.clangScalableStaticAnalysisFrameworkAnalyses.dir/SSAFAnalysesCommon.cpp.obj</summary>
```
FAILED: [code=1] tools/clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeFiles/obj.clangScalableStaticAnalysisFrameworkAnalyses.dir/SSAFAnalysesCommon.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\ScalableStaticAnalysisFramework\Analyses -IC:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4 -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2 -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\ScalableStaticAnalysisFramework\Analyses\CMakeFiles\obj.clangScalableStaticAnalysisFrameworkAnalyses.dir\SSAFAnalysesCommon.cpp.obj /Fdtools\clang\lib\ScalableStaticAnalysisFramework\Analyses\CMakeFiles\obj.clangScalableStaticAnalysisFrameworkAnalyses.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(17,34): error: expected class name
17 | class ContributorFinder : public DynamicRecursiveASTVisitor {
| ^
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(21,43): error: only virtual member functions can be marked 'override'
21 | bool VisitFunctionDecl(FunctionDecl *D) override {
| ^~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(26,39): error: only virtual member functions can be marked 'override'
26 | bool VisitRecordDecl(RecordDecl *D) override {
| ^~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(31,33): error: only virtual member functions can be marked 'override'
31 | bool VisitVarDecl(VarDecl *D) override {
| ^~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(46,38): error: expected class name
46 | class ContributorFactFinder : public DynamicRecursiveASTVisitor {
| ^
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(68,33): error: only virtual member functions can be marked 'override'
68 | bool TraverseDecl(Decl *Node) override {
| ^~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(79,33): error: only virtual member functions can be marked 'override'
79 | bool TraverseStmt(Stmt *Node) override {
| ^~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(86,42): error: only virtual member functions can be marked 'override'
86 | bool TraverseLambdaExpr(LambdaExpr *L) override {
| ^~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(58,5): error: use of undeclared identifier 'ShouldVisitTemplateInstantiations'
58 | ShouldVisitTemplateInstantiations = true;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(59,5): error: use of undeclared identifier 'ShouldVisitImplicitCode'
59 | ShouldVisitImplicitCode = false;
| ^~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(76,12): error: use of undeclared identifier 'DynamicRecursiveASTVisitor'
76 | return DynamicRecursiveASTVisitor::TraverseDecl(Node);
| ^
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(83,12): error: use of undeclared identifier 'DynamicRecursiveASTVisitor'
83 | return DynamicRecursiveASTVisitor::TraverseStmt(Node);
| ^
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(99,10): error: no member named 'TraverseAST' in '(anonymous namespace)::ContributorFinder'
99 | Finder.TraverseAST(Ctx);
| ~~~~~~ ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.h:15:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/AST/ASTContext.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/AST/CanonicalType.h:17:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/AST/Type.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/AST/Decl.h:17:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/AST/APValue.h:16:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Basic/LLVM.h:21:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h(64,53): error: incomplete type 'clang::ObjCMethodDecl' named in nested name specifier
64 | static inline bool doit(const From &Val) { return To::classof(&Val); }
| ^~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h(110,32): note: in instantiation of member function 'llvm::isa_impl<clang::ObjCMethodDecl, clang::Decl>::doit' requested here
110 | return isa_impl<To, From>::doit(*Val);
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h(137,37): note: in instantiation of member function 'llvm::isa_impl_cl<clang::ObjCMethodDecl, const clang::Decl *>::doit' requested here
137 | return isa_impl_cl<To, FromTy>::doit(Val);
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h(129,9): note: in instantiation of member function 'llvm::isa_impl_wrap<clang::ObjCMethodDecl, const clang::Decl *, const clang::Decl *>::doit' requested here
129 | doit(simplify_type<const From>::getSimplifiedValue(Val));
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h(257,58): note: in instantiation of member function 'llvm::isa_impl_wrap<clang::ObjCMethodDecl, const clang::Decl *const, const clang::Decl *>::doit' requested here
257 | typename simplify_type<const From>::SimpleType>::doit(f);
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h(509,28): note: in instantiation of member function 'llvm::CastIsPossible<clang::ObjCMethodDecl, const clang::Decl *>::isPossible' requested here
509 | return SimplifiedSelf::isPossible(
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h(548,37): note: in instantiation of member function 'llvm::CastInfo<clang::ObjCMethodDecl, clang::Decl *const>::isPossible' requested here
548 | return (CastInfo<To, const From>::isPossible(Val) || ...);
| ^
C:\_work\llvm-project\llvm-project\clang\lib\ScalableStaticAnalysisFramework\Analyses\SSAFAnalysesCommon.cpp(73,9): note: in instantiation of function template specialization 'llvm::isa<clang::FunctionDecl, clang::BlockDecl, clang::ObjCMethodDecl, clang::RecordDecl, clang::Decl *>' requested here
73 | isa<FunctionDecl, BlockDecl, ObjCMethodDecl, RecordDecl>(Node))
| ^
C:\_work\llvm-project\llvm-project\build\tools\clang\include\clang/AST/DeclNodes.inc(142,1): note: forward declaration of 'clang::ObjCMethodDecl'
142 | OBJCMETHOD(ObjCMethod, NamedDecl)
| ^
C:\_work\llvm-project\llvm-project\build\tools\clang\include\clang/AST/DeclNodes.inc(140,34): note: expanded from macro 'OBJCMETHOD'
140 | # define OBJCMETHOD(Type, Base) NAMED(Type, Base)
| ^
C:\_work\llvm-project\llvm-project\build\tools\clang\include\clang/AST/DeclNodes.inc(136,29): note: expanded from macro 'NAMED'
136 | # define NAMED(Type, Base) DECL(Type, Base)
| ^
C:\_work\llvm-project\llvm-project\clang\include\clang/AST/ASTFwd.h(20,35): note: expanded from macro 'DECL'
20 | #define DECL(DERIVED, BASE) class DERIVED##Decl;
| ^
<scratch space>(24,1): note: expanded from here
24 | ObjCMethodDecl
| ^
14 errors generated.
```
</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/191933
More information about the llvm-branch-commits
mailing list