[PATCH] D78120: [analyzer][StreamChecker] Don't make StreamTestChecker depend on StreamChecker for the time being
Kristóf Umann via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 14 09:38:47 PDT 2020
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">,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78120.257367.patch
Type: text/x-patch
Size: 1689 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200414/9d0eb164/attachment.bin>
More information about the cfe-commits
mailing list