]> granicus.if.org Git - clang/commitdiff
Use transferARCOwnershipToDeclaratorChunk in inferARCWriteback, no functionality...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 1 Jul 2011 22:23:05 +0000 (22:23 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Fri, 1 Jul 2011 22:23:05 +0000 (22:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134277 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaType.cpp

index 72f88104da263eb63be98393f088bce477076925..cc4389ef15b3da06321a3ca7baee3c208fe1a3a6 100644 (file)
@@ -1562,6 +1562,10 @@ QualType Sema::GetTypeFromParser(ParsedType Ty, TypeSourceInfo **TInfo) {
   return QT;
 }
 
+static void transferARCOwnershipToDeclaratorChunk(TypeProcessingState &state,
+                                            Qualifiers::ObjCLifetime ownership,
+                                            unsigned chunkIndex);
+
 /// Given that this is the declaration of a parameter under ARC,
 /// attempt to infer attributes and such for pointer-to-whatever
 /// types.
@@ -1652,15 +1656,8 @@ static void inferARCWriteback(TypeProcessingState &state,
       if (attr->getKind() == AttributeList::AT_objc_ownership)
         return;
 
-    // If there wasn't one, add one (with an invalid source location
-    // so that we don't make an AttributedType for it).
-    AttributeList *attr = declarator.getAttributePool()
-      .create(&S.Context.Idents.get("objc_ownership"), SourceLocation(),
-              /*scope*/ 0, SourceLocation(),
-              &S.Context.Idents.get("autoreleasing"), SourceLocation(),
-              /*args*/ 0, 0,
-              /*declspec*/ false, /*C++0x*/ false);
-    spliceAttrIntoList(*attr, chunk.getAttrListRef());
+    transferARCOwnershipToDeclaratorChunk(state, Qualifiers::OCL_Autoreleasing,
+                                          outermostPointerIndex);
 
   // Any other number of pointers/references does not trigger the rule.
   } else return;