diff --git a/lib/Object/ArchiveWriter.cpp b/lib/Object/ArchiveWriter.cpp index 99706a9bd5b..ceb34d49c27 100644 --- a/lib/Object/ArchiveWriter.cpp +++ b/lib/Object/ArchiveWriter.cpp @@ -183,14 +183,11 @@ writeSymbolTable(raw_fd_ostream &Out, object::Archive::Kind Kind, return 0; unsigned StartOffset = 0; - unsigned MemberNum = 0; - std::string NameBuf; - raw_string_ostream NameOS(NameBuf); + SmallString<128> NameBuf; + raw_svector_ostream NameOS(NameBuf); unsigned NumSyms = 0; LLVMContext Context; - for (ArrayRef::iterator I = Members.begin(), - E = Members.end(); - I != E; ++I, ++MemberNum) { + for (unsigned MemberNum = 0, N = Members.size(); MemberNum < N; ++MemberNum) { MemoryBufferRef MemberBuffer = Buffers[MemberNum]; ErrorOr> ObjOrErr = object::SymbolicFile::createSymbolicFile(