summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-ar/llvm-ar.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-06-18 21:08:17 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-06-18 21:08:17 +0000
commit794112a91fa156ee10ac96fb5c595469b80b07fd (patch)
tree8f4a6274d9824db30e214f8e6a50734f8b5dc4aa /llvm/tools/llvm-ar/llvm-ar.cpp
parent71ede29e9c9ee27aed70a5b9030ac78ec7072305 (diff)
downloadbcm5719-llvm-794112a91fa156ee10ac96fb5c595469b80b07fd.tar.gz
bcm5719-llvm-794112a91fa156ee10ac96fb5c595469b80b07fd.zip
Simplify code.
We can delete the objects earlier now that we are copying the names to a buffer. llvm-svn: 211221
Diffstat (limited to 'llvm/tools/llvm-ar/llvm-ar.cpp')
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp11
1 files changed, 1 insertions, 10 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index 196240a0c2d..920a4701b27 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -692,7 +692,6 @@ static void writeSymbolTable(
std::string NameBuf;
raw_string_ostream NameOS(NameBuf);
unsigned NumSyms = 0;
- std::vector<object::SymbolicFile *> DeleteIt;
LLVMContext &Context = getGlobalContext();
for (ArrayRef<NewArchiveIterator>::iterator I = Members.begin(),
E = Members.end();
@@ -703,9 +702,8 @@ static void writeSymbolTable(
MemberBuffer, false, sys::fs::file_magic::unknown, &Context);
if (!ObjOrErr)
continue; // FIXME: check only for "not an object file" errors.
- object::SymbolicFile *Obj = ObjOrErr.get();
+ std::unique_ptr<object::SymbolicFile> Obj(ObjOrErr.get());
- DeleteIt.push_back(Obj);
if (!StartOffset) {
printMemberHeader(Out, "", sys::TimeValue::now(), 0, 0, 0, 0);
StartOffset = Out.tell();
@@ -731,13 +729,6 @@ static void writeSymbolTable(
}
Out << NameOS.str();
- for (std::vector<object::SymbolicFile *>::iterator I = DeleteIt.begin(),
- E = DeleteIt.end();
- I != E; ++I) {
- object::SymbolicFile *O = *I;
- delete O;
- }
-
if (StartOffset == 0)
return;
OpenPOWER on IntegriCloud