From 7c1a445c9ea6317a8a63e2068282d5cffbadd1fe Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Thu, 26 Sep 2013 22:43:41 +0000 Subject: [PATCH] ObjectiveC migrator: Donlt annotate NS_RETURNS_INNER_POINTER on class methods, as it makes no sense. // rdar://15069200 llvm-svn: 191468 --- clang/lib/ARCMigrate/ObjCMT.cpp | 1 + clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m | 2 ++ clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m.result | 2 ++ 3 files changed, 5 insertions(+) diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index 997f951d7c54..ca1d189ca33c 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()) return; diff --git a/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m b/clang/test/ARCMT/objcmt-ns-returns-inner-pointer.m index 42cbdb8e5167..147de16e8e47 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 389cb8853a6e..ea5becc56380 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 -- GitLab