Use ASTContext::isObjCObjectPointerType() to check if an ivar is a reference to an Objective-C object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53999 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/CheckObjCDealloc.cpp b/lib/Analysis/CheckObjCDealloc.cpp
index 6da52ba..a67f84a 100644
--- a/lib/Analysis/CheckObjCDealloc.cpp
+++ b/lib/Analysis/CheckObjCDealloc.cpp
@@ -71,9 +71,9 @@
ObjCIvarDecl* ID = *I;
QualType T = ID->getType();
- if ((T->isPointerType() || T->isObjCQualifiedIdType()) &&
- (ID->getAttr<IBOutletAttr>() == 0 && // Skip IBOutlets.
- !isSEL(T, SelII))) { // Skip SEL ivars.
+ if ((T->isPointerType() || Ctx.isObjCObjectPointerType(T)) &&
+ (ID->getAttr<IBOutletAttr>() == 0 && // Skip IBOutlets.
+ !isSEL(T, SelII))) { // Skip SEL ivars.
containsPointerIvar = true;
break;
}