diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-18 21:08:17 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-18 21:08:17 +0000 |
commit | d8fc64e0d1f09abb3265a6ff264629ca33a52c6a (patch) | |
tree | 2071a000f076053f24ff9873cdda71121767d3f1 /tools | |
parent | 889069443b66c07d698a6813e22d2498a30c749f (diff) | |
download | llvm-d8fc64e0d1f09abb3265a6ff264629ca33a52c6a.tar.gz llvm-d8fc64e0d1f09abb3265a6ff264629ca33a52c6a.tar.bz2 llvm-d8fc64e0d1f09abb3265a6ff264629ca33a52c6a.tar.xz |
Simplify code.
We can delete the objects earlier now that we are copying the names to a buffer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211221 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index 196240a0c2..920a4701b2 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/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; |