]> granicus.if.org Git - clang/commitdiff
ObjectiveC migrator: function pointer is not an
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 26 Sep 2013 21:43:47 +0000 (21:43 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 26 Sep 2013 21:43:47 +0000 (21:43 +0000)
inner pointer for annotation to
objc_returns_inner_pointer purposes.
// rdar://15044991

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191465 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ARCMigrate/ObjCMT.cpp
test/ARCMT/objcmt-ns-returns-inner-pointer.m.result

index a9fc171512d2f12f35fc1da61ba59cfa33865a93..997f951d7c5438cdd99d6b6c1406c8c9f4ee0fe4 100644 (file)
@@ -714,7 +714,8 @@ static bool TypeIsInnerPointer(QualType T) {
   if (!T->isAnyPointerType())
     return false;
   if (T->isObjCObjectPointerType() || T->isObjCBuiltinType() ||
-      T->isBlockPointerType() || ento::coreFoundation::isCFObjectRef(T))
+      T->isBlockPointerType() || T->isFunctionPointerType() ||
+      ento::coreFoundation::isCFObjectRef(T))
     return false;
   // Also, typedef-of-pointer-to-incomplete-struct is something that we assume
   // is not an innter pointer type.
index 4980cfbb2d1523bd1a2e563c226081573bbe3c09..389cb8853a6e3b21178b6877f05bc8415c09ed74 100644 (file)
@@ -123,5 +123,5 @@ typedef void *SecTrustRef;
 - (SecTrustRef) FOO1 NS_AVAILABLE NS_RETURNS_INNER_POINTER;
 
 // pointer personality functions
-@property NSUInteger (* NS_RETURNS_INNER_POINTER hashFunction)(const void *item, NSUInteger (*size)(const void *item));
+@property NSUInteger (*hashFunction)(const void *item, NSUInteger (*size)(const void *item));
 @end