diff options
Diffstat (limited to 'tools/llvm-ar/llvm-ar.cpp')
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index 3de260410bd9..500507fd4966 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -473,6 +473,10 @@ static void addMember(std::vector<NewArchiveMember> &Members, Expected<NewArchiveMember> NMOrErr = NewArchiveMember::getFile(FileName, Deterministic); failIfError(NMOrErr.takeError(), FileName); + + // Use the basename of the object path for the member name. + NMOrErr->MemberName = sys::path::filename(NMOrErr->MemberName); + if (Pos == -1) Members.push_back(std::move(*NMOrErr)); else @@ -494,7 +498,7 @@ static void addMember(std::vector<NewArchiveMember> &Members, enum InsertAction { IA_AddOldMember, - IA_AddNewMeber, + IA_AddNewMember, IA_Delete, IA_MoveOldMember, IA_MoveNewMember @@ -526,7 +530,7 @@ static InsertAction computeInsertAction(ArchiveOperation Operation, StringRef PosName = sys::path::filename(RelPos); if (!OnlyUpdate) { if (PosName.empty()) - return IA_AddNewMeber; + return IA_AddNewMember; return IA_MoveNewMember; } @@ -543,7 +547,7 @@ static InsertAction computeInsertAction(ArchiveOperation Operation, } if (PosName.empty()) - return IA_AddNewMeber; + return IA_AddNewMember; return IA_MoveNewMember; } llvm_unreachable("No such operation"); @@ -580,7 +584,7 @@ computeNewArchiveMembers(ArchiveOperation Operation, case IA_AddOldMember: addMember(Ret, Child); break; - case IA_AddNewMeber: + case IA_AddNewMember: addMember(Ret, *MemberI); break; case IA_Delete: |