diff options
Diffstat (limited to 'llvm/lib/Object')
-rw-r--r-- | llvm/lib/Object/Archive.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp index d4821196a6c..a1e5eb27689 100644 --- a/llvm/lib/Object/Archive.cpp +++ b/llvm/lib/Object/Archive.cpp @@ -122,9 +122,8 @@ ErrorOr<StringRef> Archive::Child::getBuffer() const { ErrorOr<StringRef> Name = getName(); if (std::error_code EC = Name.getError()) return EC; - SmallString<128> FullName = - Parent->getMemoryBufferRef().getBufferIdentifier(); - sys::path::remove_filename(FullName); + SmallString<128> FullName = sys::path::parent_path( + Parent->getMemoryBufferRef().getBufferIdentifier()); sys::path::append(FullName, *Name); ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = MemoryBuffer::getFile(FullName); if (std::error_code EC = Buf.getError()) |