forked from OSchip/llvm-project
Reland "[llvm-objcopy] Refactor llvm-objcopy to use reader and writer objects"
I named a varible the same as a type which caused a warning. I also had unamed varibles. llvm-svn: 323484
This commit is contained in:
parent
d8fd16b08f
commit
6d88ffd256
|
@ -693,37 +693,37 @@ ELFReader::ELFReader(StringRef File) {
|
|||
auto BinaryOrErr = createBinary(File);
|
||||
if (!BinaryOrErr)
|
||||
reportError(File, BinaryOrErr.takeError());
|
||||
auto Bin = std::move(BinaryOrErr.get());
|
||||
std::tie(Binary, Data) = Bin.takeBinary();
|
||||
auto TmpBin = std::move(BinaryOrErr.get());
|
||||
std::tie(Bin, Data) = TmpBin.takeBinary();
|
||||
}
|
||||
|
||||
ElfType ELFReader::getElfType() const {
|
||||
if (auto *o = dyn_cast<ELFObjectFile<ELF32LE>>(Binary.get()))
|
||||
if (isa<ELFObjectFile<ELF32LE>>(Bin.get()))
|
||||
return ELFT_ELF32LE;
|
||||
if (auto *o = dyn_cast<ELFObjectFile<ELF64LE>>(Binary.get()))
|
||||
if (isa<ELFObjectFile<ELF64LE>>(Bin.get()))
|
||||
return ELFT_ELF64LE;
|
||||
if (auto *o = dyn_cast<ELFObjectFile<ELF32BE>>(Binary.get()))
|
||||
if (isa<ELFObjectFile<ELF32BE>>(Bin.get()))
|
||||
return ELFT_ELF32BE;
|
||||
if (auto *o = dyn_cast<ELFObjectFile<ELF64BE>>(Binary.get()))
|
||||
if (isa<ELFObjectFile<ELF64BE>>(Bin.get()))
|
||||
return ELFT_ELF64BE;
|
||||
llvm_unreachable("Invalid ELFType");
|
||||
}
|
||||
|
||||
std::unique_ptr<Object> ELFReader::create() const {
|
||||
auto Obj = llvm::make_unique<Object>(Data);
|
||||
if (auto *o = dyn_cast<ELFObjectFile<ELF32LE>>(Binary.get())) {
|
||||
if (auto *o = dyn_cast<ELFObjectFile<ELF32LE>>(Bin.get())) {
|
||||
ELFBuilder<ELF32LE> Builder(*o, *Obj);
|
||||
Builder.build();
|
||||
return Obj;
|
||||
} else if (auto *o = dyn_cast<ELFObjectFile<ELF64LE>>(Binary.get())) {
|
||||
} else if (auto *o = dyn_cast<ELFObjectFile<ELF64LE>>(Bin.get())) {
|
||||
ELFBuilder<ELF64LE> Builder(*o, *Obj);
|
||||
Builder.build();
|
||||
return Obj;
|
||||
} else if (auto *o = dyn_cast<ELFObjectFile<ELF32BE>>(Binary.get())) {
|
||||
} else if (auto *o = dyn_cast<ELFObjectFile<ELF32BE>>(Bin.get())) {
|
||||
ELFBuilder<ELF32BE> Builder(*o, *Obj);
|
||||
Builder.build();
|
||||
return Obj;
|
||||
} else if (auto *o = dyn_cast<ELFObjectFile<ELF64BE>>(Binary.get())) {
|
||||
} else if (auto *o = dyn_cast<ELFObjectFile<ELF64BE>>(Bin.get())) {
|
||||
ELFBuilder<ELF64BE> Builder(*o, *Obj);
|
||||
Builder.build();
|
||||
return Obj;
|
||||
|
|
|
@ -530,7 +530,7 @@ public:
|
|||
|
||||
class ELFReader : public Reader {
|
||||
private:
|
||||
std::unique_ptr<Binary> Binary;
|
||||
std::unique_ptr<Binary> Bin;
|
||||
std::shared_ptr<MemoryBuffer> Data;
|
||||
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue