summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/MachOUniversal.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-12-09 21:05:36 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-12-09 21:05:36 +0000
commit0bfe828f7afb23d994317845d73c3eb4203acff8 (patch)
treed624234ab8efdc530243252b925213f502b18f6e /llvm/lib/Object/MachOUniversal.cpp
parent28737d8db99a7d7a14cdaeed6aeb28af7794f8e9 (diff)
downloadbcm5719-llvm-0bfe828f7afb23d994317845d73c3eb4203acff8.tar.gz
bcm5719-llvm-0bfe828f7afb23d994317845d73c3eb4203acff8.zip
Return ErrorOr<std::unique_ptr<Archive>> form getAsArchive.
This is the same return type of Archive::create. llvm-svn: 223827
Diffstat (limited to 'llvm/lib/Object/MachOUniversal.cpp')
-rw-r--r--llvm/lib/Object/MachOUniversal.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/llvm/lib/Object/MachOUniversal.cpp b/llvm/lib/Object/MachOUniversal.cpp
index 77aeb63eb82..cf564c4cc2f 100644
--- a/llvm/lib/Object/MachOUniversal.cpp
+++ b/llvm/lib/Object/MachOUniversal.cpp
@@ -79,20 +79,16 @@ MachOUniversalBinary::ObjectForArch::getAsObjectFile() const {
return object_error::parse_failed;
}
-std::error_code MachOUniversalBinary::ObjectForArch::getAsArchive(
- std::unique_ptr<Archive> &Result) const {
- if (Parent) {
- StringRef ParentData = Parent->getData();
- StringRef ObjectData = ParentData.substr(Header.offset, Header.size);
- StringRef ObjectName = Parent->getFileName();
- MemoryBufferRef ObjBuffer(ObjectData, ObjectName);
- ErrorOr<std::unique_ptr<Archive>> Obj = Archive::create(ObjBuffer);
- if (std::error_code EC = Obj.getError())
- return EC;
- Result = std::move(Obj.get());
- return object_error::success;
- }
- return object_error::parse_failed;
+ErrorOr<std::unique_ptr<Archive>>
+MachOUniversalBinary::ObjectForArch::getAsArchive() const {
+ if (!Parent)
+ return object_error::parse_failed;
+
+ StringRef ParentData = Parent->getData();
+ StringRef ObjectData = ParentData.substr(Header.offset, Header.size);
+ StringRef ObjectName = Parent->getFileName();
+ MemoryBufferRef ObjBuffer(ObjectData, ObjectName);
+ return Archive::create(ObjBuffer);
}
void MachOUniversalBinary::anchor() { }
OpenPOWER on IntegriCloud