diff options
-rw-r--r-- | lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp | 4 | ||||
-rw-r--r-- | test/Analysis/objc_invalidation.m | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp b/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp index 527470a17c..4f2a9097b4 100644 --- a/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp +++ b/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; } diff --git a/test/Analysis/objc_invalidation.m b/test/Analysis/objc_invalidation.m index 15bcabec69..84028ddc2e 100644 --- a/test/Analysis/objc_invalidation.m +++ b/test/Analysis/objc_invalidation.m @@ -35,6 +35,9 @@ extern void NSLog(NSString *format, ...) __attribute__((format(__NSString__, 1, - (void) invalidate2 __attribute__((annotate("objc_instance_variable_invalidator"))); @end +@protocol Invalidation3; +@protocol Invalidation2; + @interface Invalidation2Class <Invalidation2> @end |