Szelethus created this revision. Szelethus added reviewers: balazske, NoQ, xazax.hun, baloghadamsoftware, dcoughlin, martong. Szelethus added a project: clang. Herald added subscribers: cfe-commits, ASDenysPetrov, steakhal, Charusso, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, whisperity. Szelethus added a child revision: D78126: [analyzer][NFC] Don't allow dependency checkers to emit diagnostics.
The comment in `Checkers.td` explains whats going on. As StreamChecker grows, expect a need to have smaller checkers out of it, but let that be a worry for later. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D78120 Files: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td clang/test/Analysis/stream-error.c Index: clang/test/Analysis/stream-error.c =================================================================== --- clang/test/Analysis/stream-error.c +++ clang/test/Analysis/stream-error.c @@ -1,4 +1,8 @@ -// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-checker=debug.StreamTester,debug.ExprInspection -analyzer-store region -verify %s +// RUN: %clang_analyze_cc1 -verify %s \ +// RUN: -analyzer-checker=core \ +// RUN: -analyzer-checker=alpha.unix.Stream \ +// RUN: -analyzer-checker=debug.StreamTester \ +// RUN: -analyzer-checker=debug.ExprInspection #include "Inputs/system-header-simulator.h" Index: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td =================================================================== --- clang/include/clang/StaticAnalyzer/Checkers/Checkers.td +++ clang/include/clang/StaticAnalyzer/Checkers/Checkers.td @@ -1430,9 +1430,14 @@ HelpText<"Mark tainted symbols as such.">, Documentation<NotDocumented>; +// This checker *technically* depends on SteamChecker, but we don't allow +// dependency checkers to emit diagnostics, and a debug checker isn't worth +// the chore needed to create a modeling portion on its own. Since this checker +// is for development purposes only anyways, make sure that StreamChecker is +// also enabled, at least for the time being. def StreamTesterChecker : Checker<"StreamTester">, - HelpText<"Add test functions to StreamChecker for test and debugging purposes.">, - Dependencies<[StreamChecker]>, + HelpText<"Add test functions to StreamChecker for test and debugging " + "purposes.">, Documentation<NotDocumented>; def ExprInspectionChecker : Checker<"ExprInspection">,
Index: clang/test/Analysis/stream-error.c =================================================================== --- clang/test/Analysis/stream-error.c +++ clang/test/Analysis/stream-error.c @@ -1,4 +1,8 @@ -// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-checker=debug.StreamTester,debug.ExprInspection -analyzer-store region -verify %s +// RUN: %clang_analyze_cc1 -verify %s \ +// RUN: -analyzer-checker=core \ +// RUN: -analyzer-checker=alpha.unix.Stream \ +// RUN: -analyzer-checker=debug.StreamTester \ +// RUN: -analyzer-checker=debug.ExprInspection #include "Inputs/system-header-simulator.h" Index: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td =================================================================== --- clang/include/clang/StaticAnalyzer/Checkers/Checkers.td +++ clang/include/clang/StaticAnalyzer/Checkers/Checkers.td @@ -1430,9 +1430,14 @@ HelpText<"Mark tainted symbols as such.">, Documentation<NotDocumented>; +// This checker *technically* depends on SteamChecker, but we don't allow +// dependency checkers to emit diagnostics, and a debug checker isn't worth +// the chore needed to create a modeling portion on its own. Since this checker +// is for development purposes only anyways, make sure that StreamChecker is +// also enabled, at least for the time being. def StreamTesterChecker : Checker<"StreamTester">, - HelpText<"Add test functions to StreamChecker for test and debugging purposes.">, - Dependencies<[StreamChecker]>, + HelpText<"Add test functions to StreamChecker for test and debugging " + "purposes.">, Documentation<NotDocumented>; def ExprInspectionChecker : Checker<"ExprInspection">,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits