From 684b9d2d159da52bc858d81bc53a38db7958a158 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Fri, 25 Jul 2008 17:04:49 +0000 Subject: [PATCH] Only warn about missing/incomplete -dealloc implementations when a class contains a non-SEL, non-IBOutlet ivar that references an ObjC object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54024 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/CheckObjCDealloc.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/Analysis/CheckObjCDealloc.cpp b/lib/Analysis/CheckObjCDealloc.cpp index a67f84a79a..ba0eb6ac6a 100644 --- a/lib/Analysis/CheckObjCDealloc.cpp +++ b/lib/Analysis/CheckObjCDealloc.cpp @@ -71,12 +71,13 @@ void clang::CheckObjCDealloc(ObjCImplementationDecl* D, ObjCIvarDecl* ID = *I; QualType T = ID->getType(); - if ((T->isPointerType() || Ctx.isObjCObjectPointerType(T)) && - (ID->getAttr() == 0 && // Skip IBOutlets. - !isSEL(T, SelII))) { // Skip SEL ivars. - containsPointerIvar = true; - break; - } + if (!Ctx.isObjCObjectPointerType(T) || + ID->getAttr() || // Skip IBOutlets. + isSEL(T, SelII)) // Skip SEL ivars. + continue; + + containsPointerIvar = true; + break; } if (!containsPointerIvar) -- 2.50.1