From: Ted Kremenek Date: Fri, 25 Jul 2008 17:04:49 +0000 (+0000) Subject: Only warn about missing/incomplete -dealloc implementations when a class contains... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=684b9d2d159da52bc858d81bc53a38db7958a158;p=clang 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 --- 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)