[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