Fix. Apply the no capture attribute to the correct parameter.
authorBill Wendling <isanbard@gmail.com>
Tue, 9 Oct 2012 00:51:40 +0000 (00:51 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 9 Oct 2012 00:51:40 +0000 (00:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165469 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/ObjCARC.cpp

index dbcafb0452a3c7861ad9e3584bc27d857bd02a9c..dca6a72fb16b712b0e3ebbcfa843504f7b1ba544 100644 (file)
@@ -3840,10 +3840,13 @@ Constant *ObjCARCContract::getStoreStrongCallee(Module *M) {
     Type *I8XX = PointerType::getUnqual(I8X);
     Type *Params[] = { I8XX, I8X };
 
-    Attributes::Builder B;
-    B.addNoUnwindAttr();
-    B.addNoCaptureAttr();
-    AttrListPtr Attributes = AttrListPtr().addAttr(~0u, Attributes::get(B));
+    Attributes::Builder BNoUnwind;
+    BNoUnwind.addNoUnwindAttr();
+    Attributes::Builder BNoCapture;
+    BNoCapture.addNoCaptureAttr();
+    AttrListPtr Attributes = AttrListPtr()
+      .addAttr(~0u, Attributes::get(BNoUnwind))
+      .addAttr(1, Attributes::get(BNoCapture));
 
     StoreStrongCallee =
       M->getOrInsertFunction(