From f1c60d6d047481e152fdde5e7c0f71057cff4fd0 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Tue, 9 Oct 2012 00:51:40 +0000 Subject: [PATCH] Fix. Apply the no capture attribute to the correct parameter. llvm-svn: 165469 --- llvm/lib/Transforms/Scalar/ObjCARC.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/llvm/lib/Transforms/Scalar/ObjCARC.cpp b/llvm/lib/Transforms/Scalar/ObjCARC.cpp index dbcafb0..dca6a72 100644 --- a/llvm/lib/Transforms/Scalar/ObjCARC.cpp +++ b/llvm/lib/Transforms/Scalar/ObjCARC.cpp @@ -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( -- 2.7.4