forked from OSchip/llvm-project
Only warn about missing/incomplete -dealloc implementations when a class contains a non-SEL, non-IBOutlet ivar that references an ObjC object.
llvm-svn: 54024
This commit is contained in:
parent
f08932928c
commit
2483730e3f
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue