diff options
author | Anton Yartsev <anton.yartsev@gmail.com> | 2013-04-05 00:31:02 +0000 |
---|---|---|
committer | Anton Yartsev <anton.yartsev@gmail.com> | 2013-04-05 00:31:02 +0000 |
commit | 717aa0eac2c6706331481831bb9796c746f3a172 (patch) | |
tree | aedcfabd9e9f21b7c307516fbf82f1353e8622f1 /clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp | |
parent | b0e4c9d01bcba7480975e4cf94d6b568cd938298 (diff) | |
download | bcm5719-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.cpp | 25 |
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; } |