diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index 997f951d7c5438cdd99d6b6c1406c8c9f4ee0fe4..ca1d189ca33c7eaf4aee9800ebf41dfe186c8eb7 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 42cbdb8e5167ec117140c8942abf95ffd8ab812c..147de16e8e47e4fd146af7c306a5b5543a206b0a 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 389cb8853a6e3b21178b6877f05bc8415c09ed74..ea5becc56380b01ce96c4fb15b7c74c26aae170b 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