From 9c6bbb3492cc34df1eed1e151c94935846edc17f Mon Sep 17 00:00:00 2001 From: Anton Yartsev Date: Fri, 5 Apr 2013 00:31:02 +0000 Subject: [PATCH] [analyzer] Fully-covered switch for families in isTrackedFamily() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178820 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp b/lib/StaticAnalyzer/Checkers/MallocChecker.cpp index f686735010..f92178f6fc 100644 --- a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp +++ b/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; } -- 2.40.0