summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/Sema/SemaDeclObjC.cpp3
-rw-r--r--clang/test/SemaObjC/unsued-backing-ivar-warning.m13
2 files changed, 15 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp
index 078a0e3ab9f..7024cf6cb35 100644
--- a/clang/lib/Sema/SemaDeclObjC.cpp
+++ b/clang/lib/Sema/SemaDeclObjC.cpp
@@ -3489,7 +3489,8 @@ void Sema::DiagnoseUseOfUnimplementedSelectors() {
ObjCIvarDecl *
Sema::GetIvarBackingPropertyAccessor(const ObjCMethodDecl *Method,
const ObjCPropertyDecl *&PDecl) const {
-
+ if (Method->isClassMethod())
+ return 0;
const ObjCInterfaceDecl *IDecl = Method->getClassInterface();
if (!IDecl)
return 0;
diff --git a/clang/test/SemaObjC/unsued-backing-ivar-warning.m b/clang/test/SemaObjC/unsued-backing-ivar-warning.m
index df3ede75afa..9861d5048f7 100644
--- a/clang/test/SemaObjC/unsued-backing-ivar-warning.m
+++ b/clang/test/SemaObjC/unsued-backing-ivar-warning.m
@@ -91,3 +91,16 @@ typedef char BOOL;
}
@end
+// rdar://15728901
+@interface GATTOperation : NSObject {
+ long operation;
+}
+@property(assign) long operation;
+@end
+
+@implementation GATTOperation
+@synthesize operation;
++ (id) operation {
+ return 0;
+}
+@end
OpenPOWER on IntegriCloud