summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-09-26 22:43:41 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-09-26 22:43:41 +0000
commit7c1a445c9ea6317a8a63e2068282d5cffbadd1fe (patch)
tree5ccc1f703059cc3e42282f789f19b4170efe1231 /clang
parent32a3f9ee29e2393b55f0debdc55fce451938f861 (diff)
downloadbcm5719-llvm-7c1a445c9ea6317a8a63e2068282d5cffbadd1fe.tar.gz
bcm5719-llvm-7c1a445c9ea6317a8a63e2068282d5cffbadd1fe.zip
ObjectiveC migrator: Donlt annotate NS_RETURNS_INNER_POINTER
on class methods, as it makes no sense. // rdar://15069200 llvm-svn: 191468
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/ARCMigrate/ObjCMT.cpp1
-rw-r--r--clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m2
-rw-r--r--clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result2
3 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp
index 997f951d7c5..ca1d189ca33 100644
--- a/clang/lib/ARCMigrate/ObjCMT.cpp
+++ b/clang/lib/ARCMigrate/ObjCMT.cpp
@@ -846,6 +846,7 @@ bool ObjCMigrateASTConsumer::migrateProperty(ASTContext &Ctx,
void ObjCMigrateASTConsumer::migrateNsReturnsInnerPointer(ASTContext &Ctx,
ObjCMethodDecl *OM) {
if (OM->isImplicit() ||
+ !OM->isInstanceMethod() ||
OM->hasAttr<ObjCReturnsInnerPointerAttr>())
return;
diff --git a/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m b/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m
index 42cbdb8e516..147de16e8e4 100644
--- a/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m
+++ b/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m
@@ -122,6 +122,8 @@ typedef void *SecTrustRef;
- (SecTrustRef) FOO1 NS_AVAILABLE;
++ (const NSURLProtectionSpace *)ProtectionSpace;
+
// pointer personality functions
@property NSUInteger (*hashFunction)(const void *item, NSUInteger (*size)(const void *item));
@end
diff --git a/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result b/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result
index 389cb8853a6..ea5becc5638 100644
--- a/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result
+++ b/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result
@@ -122,6 +122,8 @@ typedef void *SecTrustRef;
- (SecTrustRef) FOO1 NS_AVAILABLE NS_RETURNS_INNER_POINTER;
++ (const NSURLProtectionSpace *)ProtectionSpace;
+
// pointer personality functions
@property NSUInteger (*hashFunction)(const void *item, NSUInteger (*size)(const void *item));
@end
OpenPOWER on IntegriCloud