summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Object/ArchiveWriter.cpp11
-rw-r--r--llvm/lib/Object/COFFImportFile.cpp8
-rw-r--r--llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp11
3 files changed, 13 insertions, 17 deletions
diff --git a/llvm/lib/Object/ArchiveWriter.cpp b/llvm/lib/Object/ArchiveWriter.cpp
index b052c76d1fe..91aa3739229 100644
--- a/llvm/lib/Object/ArchiveWriter.cpp
+++ b/llvm/lib/Object/ArchiveWriter.cpp
@@ -376,9 +376,8 @@ writeSymbolTable(raw_fd_ostream &Out, object::Archive::Kind Kind,
return BodyStartOffset + 4;
}
-std::pair<StringRef, std::error_code>
-llvm::writeArchive(StringRef ArcName,
- std::vector<NewArchiveMember> &NewMembers,
+std::error_code
+llvm::writeArchive(StringRef ArcName, std::vector<NewArchiveMember> &NewMembers,
bool WriteSymtab, object::Archive::Kind Kind,
bool Deterministic, bool Thin,
std::unique_ptr<MemoryBuffer> OldArchiveBuf) {
@@ -387,7 +386,7 @@ llvm::writeArchive(StringRef ArcName,
int TmpArchiveFD;
if (auto EC = sys::fs::createUniqueFile(ArcName + ".temp-archive-%%%%%%%.a",
TmpArchiveFD, TmpArchive))
- return std::make_pair(ArcName, EC);
+ return EC;
tool_output_file Output(TmpArchive, TmpArchiveFD);
raw_fd_ostream &Out = Output.os();
@@ -403,7 +402,7 @@ llvm::writeArchive(StringRef ArcName,
ErrorOr<unsigned> MemberReferenceOffsetOrErr = writeSymbolTable(
Out, Kind, NewMembers, MemberOffsetRefs, Deterministic);
if (auto EC = MemberReferenceOffsetOrErr.getError())
- return std::make_pair(ArcName, EC);
+ return EC;
MemberReferenceOffset = MemberReferenceOffsetOrErr.get();
}
@@ -465,5 +464,5 @@ llvm::writeArchive(StringRef ArcName,
OldArchiveBuf.reset();
sys::fs::rename(TmpArchive, ArcName);
- return std::make_pair("", std::error_code());
+ return std::error_code();
}
diff --git a/llvm/lib/Object/COFFImportFile.cpp b/llvm/lib/Object/COFFImportFile.cpp
index 8383edf45af..5f4b8908837 100644
--- a/llvm/lib/Object/COFFImportFile.cpp
+++ b/llvm/lib/Object/COFFImportFile.cpp
@@ -604,11 +604,9 @@ std::error_code writeImportLibrary(StringRef ImportName, StringRef Path,
OF.createShortImport(*Name, E.Ordinal, ImportType, NameType));
}
- std::pair<StringRef, std::error_code> Result =
- writeArchive(Path, Members, /*WriteSymtab*/ true, object::Archive::K_GNU,
- /*Deterministic*/ true, /*Thin*/ false);
-
- return Result.second;
+ return writeArchive(Path, Members, /*WriteSymtab*/ true,
+ object::Archive::K_GNU,
+ /*Deterministic*/ true, /*Thin*/ false);
}
} // namespace object
diff --git a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
index afda6a1388c..912a09316d6 100644
--- a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
+++ b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
@@ -153,15 +153,14 @@ int llvm::libDriverMain(llvm::ArrayRef<const char*> ArgsArr) {
Members.emplace_back(std::move(*MOrErr));
}
- std::pair<StringRef, std::error_code> Result =
- llvm::writeArchive(getOutputPath(&Args, Members[0]), Members,
+ std::string OutputPath = getOutputPath(&Args, Members[0]);
+ std::error_code EC =
+ llvm::writeArchive(OutputPath, Members,
/*WriteSymtab=*/true, object::Archive::K_GNU,
/*Deterministic*/ true, Args.hasArg(OPT_llvmlibthin));
- if (Result.second) {
- if (Result.first.empty())
- Result.first = ArgsArr[0];
- llvm::errs() << Result.first << ": " << Result.second.message() << "\n";
+ if (EC) {
+ llvm::errs() << OutputPath << ": " << EC.message() << "\n";
return 1;
}
OpenPOWER on IntegriCloud