Fix the build in c++03 mode.
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 23 Jul 2013 11:02:16 +0000 (11:02 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 23 Jul 2013 11:02:16 +0000 (11:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186935 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-ar/llvm-ar.cpp

index db87f76d81dd033e66fd110fc9bd0d74b1d4d5ef..116143e1685c73c6abe8db865b6e4a063b188902 100644 (file)
@@ -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;