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;
     }