diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-12-09 21:05:36 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-12-09 21:05:36 +0000 |
commit | 0bfe828f7afb23d994317845d73c3eb4203acff8 (patch) | |
tree | d624234ab8efdc530243252b925213f502b18f6e /llvm/lib/Object/MachOUniversal.cpp | |
parent | 28737d8db99a7d7a14cdaeed6aeb28af7794f8e9 (diff) | |
download | bcm5719-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.cpp | 24 |
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() { } |