summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-ar
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2016-08-03 21:57:47 +0000
committerKevin Enderby <enderby@apple.com>2016-08-03 21:57:47 +0000
commit27e85bd0a6308e7b7f4d8b1b9c7ba445485ec71b (patch)
tree77dedd37bdafd66016b94b858d30ffcb00e183b2 /llvm/tools/llvm-ar
parent9584d18d485c67e57830a8141d84863cdc24ec8e (diff)
downloadbcm5719-llvm-27e85bd0a6308e7b7f4d8b1b9c7ba445485ec71b.tar.gz
bcm5719-llvm-27e85bd0a6308e7b7f4d8b1b9c7ba445485ec71b.zip
Clean up of libObject/Archive interfaces and change the last three uses of ErrorOr<>
changing them to Expected<> to allow them to pass through llvm Errors. No functional change. This commit by itself will break the next lld builds.  I’ll be committing the matching change for lld immediately next. llvm-svn: 277656
Diffstat (limited to 'llvm/tools/llvm-ar')
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index cf2f98f83e1..e54109a2409 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -318,8 +318,8 @@ static void doPrint(StringRef Name, const object::Archive::Child &C) {
if (Verbose)
outs() << "Printing " << Name << "\n";
- ErrorOr<StringRef> DataOrErr = C.getBuffer();
- failIfError(DataOrErr.getError());
+ Expected<StringRef> DataOrErr = C.getBuffer();
+ failIfError(DataOrErr.takeError());
StringRef Data = *DataOrErr;
outs().write(Data.data(), Data.size());
}
@@ -376,7 +376,9 @@ static void doExtract(StringRef Name, const object::Archive::Child &C) {
raw_fd_ostream file(FD, false);
// Get the data and its length
- StringRef Data = *C.getBuffer();
+ Expected<StringRef> BufOrErr = C.getBuffer();
+ failIfError(BufOrErr.takeError());
+ StringRef Data = BufOrErr.get();
// Write the data.
file.write(Data.data(), Data.size());
OpenPOWER on IntegriCloud