summaryrefslogtreecommitdiffstats
path: root/clang/lib/Checker
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-05-19 17:38:06 +0000
committerTed Kremenek <kremenek@apple.com>2010-05-19 17:38:06 +0000
commit26bde774df1dd3f2e5ec2e3ea968b323f8722fd1 (patch)
tree78a139bc58c399a627b4280dffb19a9302615a93 /clang/lib/Checker
parent52e37becf62579af96b6920f931e8939c2a925f5 (diff)
downloadbcm5719-llvm-26bde774df1dd3f2e5ec2e3ea968b323f8722fd1.tar.gz
bcm5719-llvm-26bde774df1dd3f2e5ec2e3ea968b323f8722fd1.zip
Add clang support for IBOutletCollection.
llvm-svn: 104135
Diffstat (limited to 'clang/lib/Checker')
-rw-r--r--clang/lib/Checker/CheckObjCDealloc.cpp3
-rw-r--r--clang/lib/Checker/ObjCUnusedIVarsChecker.cpp3
2 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Checker/CheckObjCDealloc.cpp b/clang/lib/Checker/CheckObjCDealloc.cpp
index c23be873f48..11ddaca9d6f 100644
--- a/clang/lib/Checker/CheckObjCDealloc.cpp
+++ b/clang/lib/Checker/CheckObjCDealloc.cpp
@@ -115,7 +115,8 @@ void clang::CheckObjCDealloc(const ObjCImplementationDecl* D,
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 0e47621d420..2523cff9d8d 100644
--- a/clang/lib/Checker/ObjCUnusedIVarsChecker.cpp
+++ b/clang/lib/Checker/ObjCUnusedIVarsChecker.cpp
@@ -114,7 +114,8 @@ void clang::CheckObjCUnusedIvar(const ObjCImplementationDecl *D,
// (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;
OpenPOWER on IntegriCloud