diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-23 11:02:16 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-23 11:02:16 +0000 |
commit | af02bf4a581dc9548ba3160b9d654a4893a12491 (patch) | |
tree | 20fa81410ff489ef3ac8632fce52700b467d8bcb /tools/llvm-ar | |
parent | 26b10da9c2b9b22418ca532bfb50274b2556eb53 (diff) | |
download | llvm-af02bf4a581dc9548ba3160b9d654a4893a12491.tar.gz llvm-af02bf4a581dc9548ba3160b9d654a4893a12491.tar.bz2 llvm-af02bf4a581dc9548ba3160b9d654a4893a12491.tar.xz |
Fix the build in c++03 mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186935 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-ar')
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index db87f76d81..116143e168 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -643,7 +643,7 @@ static void writeSymbolTable( unsigned StartOffset = 0; unsigned MemberNum = 0; std::vector<StringRef> SymNames; - std::vector<OwningPtr<object::ObjectFile> > DeleteIt; + std::vector<object::ObjectFile *> DeleteIt; for (ArrayRef<NewArchiveIterator>::iterator I = Members.begin(), E = Members.end(); I != E; ++I, ++MemberNum) { @@ -665,7 +665,7 @@ static void writeSymbolTable( } if (!Obj) continue; - DeleteIt.push_back(OwningPtr<object::ObjectFile>(Obj)); + DeleteIt.push_back(Obj); if (!StartOffset) { printMemberHeader(Out, "", sys::TimeValue::now(), 0, 0, 0, 0); StartOffset = Out.tell(); @@ -698,6 +698,13 @@ static void writeSymbolTable( Out << '\0'; } + for (std::vector<object::ObjectFile *>::iterator I = DeleteIt.begin(), + E = DeleteIt.end(); + I != E; ++I) { + object::ObjectFile *O = *I; + delete O; + } + if (StartOffset == 0) return; |