Add clang support for IBOutletCollection.

llvm-svn: 104135
diff --git a/clang/lib/Checker/CheckObjCDealloc.cpp b/clang/lib/Checker/CheckObjCDealloc.cpp
index c23be87..11ddaca 100644
--- a/clang/lib/Checker/CheckObjCDealloc.cpp
+++ b/clang/lib/Checker/CheckObjCDealloc.cpp
@@ -115,7 +115,8 @@
     QualType T = ID->getType();
 
     if (!T->isObjCObjectPointerType() ||
-        ID->getAttr<IBOutletAttr>()) // Skip IBOutlets.
+        ID->getAttr<IBOutletAttr>() || // Skip IBOutlets.
+        ID->getAttr<IBOutletCollectionAttr>()) // Skip IBOutletCollections.
       continue;
 
     containsPointerIvar = true;
diff --git a/clang/lib/Checker/ObjCUnusedIVarsChecker.cpp b/clang/lib/Checker/ObjCUnusedIVarsChecker.cpp
index 0e47621..2523cff 100644
--- a/clang/lib/Checker/ObjCUnusedIVarsChecker.cpp
+++ b/clang/lib/Checker/ObjCUnusedIVarsChecker.cpp
@@ -114,7 +114,8 @@
     // (b) explicitly marked unused
     // (c) are iboutlets
     if (ID->getAccessControl() != ObjCIvarDecl::Private ||
-        ID->getAttr<UnusedAttr>() || ID->getAttr<IBOutletAttr>())
+        ID->getAttr<UnusedAttr>() || ID->getAttr<IBOutletAttr>() ||
+        ID->getAttr<IBOutletCollectionAttr>())
       continue;
 
     M[ID] = Unused;