aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/IRObjectFile.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-05-16 13:24:04 +0000
committerFangrui Song <maskray@google.com>2019-05-16 13:24:04 +0000
commite183340c29db62e3c93c59c403984ad675d72c83 (patch)
tree21ec750631cf5febc8acfa3d2d6b35fc72538e96 /llvm/lib/Object/IRObjectFile.cpp
parent1b93a24c297117c455a126f1c3e858fefe410c2f (diff)
downloadllvm-e183340c29db62e3c93c59c403984ad675d72c83.zip
llvm-e183340c29db62e3c93c59c403984ad675d72c83.tar.gz
llvm-e183340c29db62e3c93c59c403984ad675d72c83.tar.bz2
Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef>
r360876 didn't fix 2 call sites in clang. Expected<ArrayRef<uint8_t>> may be better but use Expected<StringRef> for now. Follow-up of D61781. llvm-svn: 360892
Diffstat (limited to 'llvm/lib/Object/IRObjectFile.cpp')
-rw-r--r--llvm/lib/Object/IRObjectFile.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Object/IRObjectFile.cpp b/llvm/lib/Object/IRObjectFile.cpp
index debe789..636f152 100644
--- a/llvm/lib/Object/IRObjectFile.cpp
+++ b/llvm/lib/Object/IRObjectFile.cpp
@@ -74,12 +74,12 @@ Expected<MemoryBufferRef>
IRObjectFile::findBitcodeInObject(const ObjectFile &Obj) {
for (const SectionRef &Sec : Obj.sections()) {
if (Sec.isBitcode()) {
- StringRef SecContents;
- if (std::error_code EC = Sec.getContents(SecContents))
- return errorCodeToError(EC);
- if (SecContents.size() <= 1)
+ Expected<StringRef> Contents = Sec.getContents();
+ if (!Contents)
+ return Contents.takeError();
+ if (Contents->size() <= 1)
return errorCodeToError(object_error::bitcode_section_not_found);
- return MemoryBufferRef(SecContents, Obj.getFileName());
+ return MemoryBufferRef(*Contents, Obj.getFileName());
}
}