summaryrefslogtreecommitdiff
path: root/tools/llvm-ar/llvm-ar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-ar/llvm-ar.cpp')
-rw-r--r--tools/llvm-ar/llvm-ar.cpp12
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: