summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
diff options
context:
space:
mode:
authorAnton Yartsev <anton.yartsev@gmail.com>2013-04-05 00:31:02 +0000
committerAnton Yartsev <anton.yartsev@gmail.com>2013-04-05 00:31:02 +0000
commit717aa0eac2c6706331481831bb9796c746f3a172 (patch)
treeaedcfabd9e9f21b7c307516fbf82f1353e8622f1 /clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
parentb0e4c9d01bcba7480975e4cf94d6b568cd938298 (diff)
downloadbcm5719-llvm-717aa0eac2c6706331481831bb9796c746f3a172.tar.gz
bcm5719-llvm-717aa0eac2c6706331481831bb9796c746f3a172.zip
[analyzer] Fully-covered switch for families in isTrackedFamily()
llvm-svn: 178820
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
index f686735010d..f92178f6fc7 100644
--- a/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
@@ -1068,13 +1068,24 @@ ProgramStateRef MallocChecker::FreeMemAux(CheckerContext &C,
}
bool MallocChecker::isTrackedFamily(AllocationFamily Family) const {
- if (Family == AF_Malloc &&
- (!Filter.CMallocOptimistic && !Filter.CMallocPessimistic))
- return false;
-
- if ((Family == AF_CXXNew || Family == AF_CXXNewArray) &&
- !Filter.CNewDeleteChecker)
- return false;
+ switch (Family) {
+ case AF_Malloc: {
+ if (!Filter.CMallocOptimistic && !Filter.CMallocPessimistic)
+ return false;
+ break;
+ }
+ case AF_CXXNew:
+ case AF_CXXNewArray: {
+ if (!Filter.CNewDeleteChecker)
+ return false;
+ break;
+ }
+ case AF_None: {
+ return true;
+ }
+ default:
+ llvm_unreachable("unhandled family");
+ }
return true;
}
OpenPOWER on IntegriCloud