copy-paste: NS types are not typedefs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50817 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp
index 8115cd7..5698dc8 100644
--- a/lib/Analysis/CFRefCount.cpp
+++ b/lib/Analysis/CFRefCount.cpp
@@ -497,17 +497,15 @@
if (!T->isPointerType())
return false;
- // Check the typedef for the name "CF" and the substring "Ref".
+ ObjCInterfaceType* OT = dyn_cast<ObjCInterfaceType>(T.getTypePtr());
- TypedefType* TD = dyn_cast<TypedefType>(T.getTypePtr());
-
- if (!TD)
+ if (!OT)
return false;
- const char* TDName = TD->getDecl()->getIdentifier()->getName();
- assert (TDName);
+ const char* ClsName = OT->getDecl()->getIdentifier()->getName();
+ assert (ClsName);
- if (TDName[0] != 'N' || TDName[1] != 'S')
+ if (ClsName[0] != 'N' || ClsName[1] != 'S')
return false;
return true;