summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2013-01-11 03:52:40 +0000
committerAnna Zaks <ganna@apple.com>2013-01-11 03:52:40 +0000
commitca49e535ae5c42de49cbd2e259d95ed81b9b7623 (patch)
tree6af0927693bbfab3e61487cc259fdc0d43623802 /clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
parent2975cf27e465de75dd1b9866244cdda0539785d2 (diff)
downloadbcm5719-llvm-ca49e535ae5c42de49cbd2e259d95ed81b9b7623.tar.gz
bcm5719-llvm-ca49e535ae5c42de49cbd2e259d95ed81b9b7623.zip
[analyzer]Recognize ivar invalidation protocol even if it was redeclared
This will get rid of some false positives as well as false negatives. llvm-svn: 172169
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
index 527470a17c5..4f2a9097b4f 100644
--- a/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
@@ -233,7 +233,7 @@ void IvarInvalidationChecker::containsInvalidationMethod(
for (ObjCInterfaceDecl::protocol_iterator
I = InterfD->protocol_begin(),
E = InterfD->protocol_end(); I != E; ++I) {
- containsInvalidationMethod(*I, OutInfo);
+ containsInvalidationMethod((*I)->getDefinition(), OutInfo);
}
// Visit all categories in case the invalidation method is declared in
@@ -252,7 +252,7 @@ void IvarInvalidationChecker::containsInvalidationMethod(
for (ObjCInterfaceDecl::protocol_iterator
I = ProtD->protocol_begin(),
E = ProtD->protocol_end(); I != E; ++I) {
- containsInvalidationMethod(*I, OutInfo);
+ containsInvalidationMethod((*I)->getDefinition(), OutInfo);
}
return;
}
OpenPOWER on IntegriCloud