diff options
Diffstat (limited to 'lib/Analysis/CheckObjCDealloc.cpp')
-rw-r--r-- | lib/Analysis/CheckObjCDealloc.cpp | 13 |
1 files 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<IBOutletAttr>() == 0 && // Skip IBOutlets. - !isSEL(T, SelII))) { // Skip SEL ivars. - containsPointerIvar = true; - break; - } + if (!Ctx.isObjCObjectPointerType(T) || + ID->getAttr<IBOutletAttr>() || // Skip IBOutlets. + isSEL(T, SelII)) // Skip SEL ivars. + continue; + + containsPointerIvar = true; + break; } if (!containsPointerIvar) |