summaryrefslogtreecommitdiff
path: root/tools/llvm-ar
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-07-23 11:02:16 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-07-23 11:02:16 +0000
commitaf02bf4a581dc9548ba3160b9d654a4893a12491 (patch)
tree20fa81410ff489ef3ac8632fce52700b467d8bcb /tools/llvm-ar
parent26b10da9c2b9b22418ca532bfb50274b2556eb53 (diff)
downloadllvm-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.cpp11
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;