summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-24 21:42:52 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-24 21:42:52 +0000
commit51695bbb0aba88842ac943594463fd526547c0c2 (patch)
tree2fb8fd726c6b8b1025e6461073650df3bb5ebc27 /clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp
parent8b089064113be6498e2c26e2b8c4feb67a671952 (diff)
downloadbcm5719-llvm-51695bbb0aba88842ac943594463fd526547c0c2.tar.gz
bcm5719-llvm-51695bbb0aba88842ac943594463fd526547c0c2.zip
[analyzer] Allow a checker to be hidden even if its package is hidden & enabled.
For example, if 'core.experimental.UnreachableCode' is hidden, it should not be enabled with 'core.experimental'. Note that this requires llvm commit r126436. llvm-svn: 126439
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp b/clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp
index 94f200f3e89..aefaf548020 100644
--- a/clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/ClangSACheckerProvider.cpp
@@ -104,9 +104,10 @@ static void collectCheckers(const CheckNameOption *checkName,
// Enable/disable all subgroups along with this one.
if (const short *subGroups = checkName->SubGroups) {
- for (; *subGroups != -1; ++subGroups)
- collectCheckers(&CheckNameTable[*subGroups], enable, checkers,
- collectHidden && checkName->Hidden);
+ for (; *subGroups != -1; ++subGroups) {
+ const CheckNameOption *sub = &CheckNameTable[*subGroups];
+ collectCheckers(sub, enable, checkers, collectHidden && !sub->Hidden);
+ }
}
}
OpenPOWER on IntegriCloud