summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objcopy/COFF/Reader.cpp
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2019-08-19 14:32:23 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2019-08-19 14:32:23 +0000
commit9d5e8a476ff5e5823a2d34274dbcaa8d200e9f85 (patch)
treea34b47146a6326c7e53b2a5113a8fabcc528ce64 /llvm/tools/llvm-objcopy/COFF/Reader.cpp
parentac0e6c6502f0bf2456cab6671b4a40c999781438 (diff)
downloadbcm5719-llvm-9d5e8a476ff5e5823a2d34274dbcaa8d200e9f85.tar.gz
bcm5719-llvm-9d5e8a476ff5e5823a2d34274dbcaa8d200e9f85.zip
[Object/COFF.h] - Stop returning std::error_code in a few methods. NFCI.
There are 4 methods that return std::error_code now, though they do not have to because they are always succeed. I refactored them. This allows to simplify the code in tools a bit. llvm-svn: 369263
Diffstat (limited to 'llvm/tools/llvm-objcopy/COFF/Reader.cpp')
-rw-r--r--llvm/tools/llvm-objcopy/COFF/Reader.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/llvm/tools/llvm-objcopy/COFF/Reader.cpp b/llvm/tools/llvm-objcopy/COFF/Reader.cpp
index a2681be7192..2fcec0057c0 100644
--- a/llvm/tools/llvm-objcopy/COFF/Reader.cpp
+++ b/llvm/tools/llvm-objcopy/COFF/Reader.cpp
@@ -36,14 +36,9 @@ Error COFFReader::readExecutableHeaders(Object &Obj) const {
DH->AddressOfNewExeHeader - sizeof(*DH));
if (COFFObj.is64()) {
- const pe32plus_header *PE32Plus = nullptr;
- if (auto EC = COFFObj.getPE32PlusHeader(PE32Plus))
- return errorCodeToError(EC);
- Obj.PeHeader = *PE32Plus;
+ Obj.PeHeader = *COFFObj.getPE32PlusHeader();
} else {
- const pe32_header *PE32 = nullptr;
- if (auto EC = COFFObj.getPE32Header(PE32))
- return errorCodeToError(EC);
+ const pe32_header *PE32 = COFFObj.getPE32Header();
copyPeHeader(Obj.PeHeader, *PE32);
// The pe32plus_header (stored in Object) lacks the BaseOfData field.
Obj.BaseOfData = PE32->BaseOfData;
@@ -198,14 +193,11 @@ Error COFFReader::setSymbolTargets(Object &Obj) const {
Expected<std::unique_ptr<Object>> COFFReader::create() const {
auto Obj = std::make_unique<Object>();
- const coff_file_header *CFH = nullptr;
- const coff_bigobj_file_header *CBFH = nullptr;
- COFFObj.getCOFFHeader(CFH);
- COFFObj.getCOFFBigObjHeader(CBFH);
bool IsBigObj = false;
- if (CFH) {
+ if (const coff_file_header *CFH = COFFObj.getCOFFHeader()) {
Obj->CoffFileHeader = *CFH;
} else {
+ const coff_bigobj_file_header *CBFH = COFFObj.getCOFFBigObjHeader();
if (!CBFH)
return createStringError(object_error::parse_failed,
"no COFF file header returned");
OpenPOWER on IntegriCloud