diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-07-23 18:21:36 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-07-23 18:21:36 +0000 |
commit | cc87ba2b950cfef2ef43019627330975a7daf73a (patch) | |
tree | ad82657150d5b726662f0d4a1cb49547d3399a19 /lib/Analysis/CheckObjCUnusedIVars.cpp | |
parent | 8f50b9c02abe7cd4945a9b77a8550a5207ea21cf (diff) |
Properly skip IBOutlets when checking for unused ivars.
Refine the error message of unused ivars.
Added test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53957 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/CheckObjCUnusedIVars.cpp')
-rw-r--r-- | lib/Analysis/CheckObjCUnusedIVars.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Analysis/CheckObjCUnusedIVars.cpp b/lib/Analysis/CheckObjCUnusedIVars.cpp index d074dde8a3..d536ea4bdb 100644 --- a/lib/Analysis/CheckObjCUnusedIVars.cpp +++ b/lib/Analysis/CheckObjCUnusedIVars.cpp @@ -57,8 +57,9 @@ void clang::CheckObjCUnusedIvar(ObjCImplementationDecl* D, BugReporter& BR) { // Ignore ivars that aren't private. if (ID->getAccessControl() != ObjCIvarDecl::Private) continue; - - if (ID->getAttr<IBOutletAttr>() == 0) + + // Skip IB Outlets. + if (ID->getAttr<IBOutletAttr>()) continue; M[ID] = Unused; @@ -77,8 +78,9 @@ void clang::CheckObjCUnusedIvar(ObjCImplementationDecl* D, BugReporter& BR) { if (I->second == Unused) { std::ostringstream os; - os << "Private ivar '" << I->first->getName() << "' is never used."; - + os << "Instance variable '" << I->first->getName() + << "' in class '" << ID->getName() << "' is never used."; + BR.EmitBasicReport("unused ivar", os.str().c_str(), I->first->getLocation()); } |