From 6a4d2d6561f5cb199a61f9952e01825e4b391c9b Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Sat, 12 Jan 2019 08:30:09 +0000 Subject: [PATCH] [llvm-objcopy] [COFF] Remove pointless Reader/Writer base classes. NFC. These were copied as part of the original design from the ELF backend, but aren't necessary at the moment. Differential Revision: https://reviews.llvm.org/D56431 llvm-svn: 350996 --- llvm/tools/llvm-objcopy/COFF/Reader.cpp | 2 -- llvm/tools/llvm-objcopy/COFF/Reader.h | 10 ++-------- llvm/tools/llvm-objcopy/COFF/Writer.cpp | 2 -- llvm/tools/llvm-objcopy/COFF/Writer.h | 15 +++------------ 4 files changed, 5 insertions(+), 24 deletions(-) diff --git a/llvm/tools/llvm-objcopy/COFF/Reader.cpp b/llvm/tools/llvm-objcopy/COFF/Reader.cpp index 2d3a594..a017683 100644 --- a/llvm/tools/llvm-objcopy/COFF/Reader.cpp +++ b/llvm/tools/llvm-objcopy/COFF/Reader.cpp @@ -23,8 +23,6 @@ namespace coff { using namespace object; -Reader::~Reader() {} - Error COFFReader::readExecutableHeaders(Object &Obj) const { const dos_header *DH = COFFObj.getDOSHeader(); Obj.Is64 = COFFObj.is64(); diff --git a/llvm/tools/llvm-objcopy/COFF/Reader.h b/llvm/tools/llvm-objcopy/COFF/Reader.h index c972a14..ca7057d 100644 --- a/llvm/tools/llvm-objcopy/COFF/Reader.h +++ b/llvm/tools/llvm-objcopy/COFF/Reader.h @@ -23,13 +23,7 @@ struct Object; using object::COFFObjectFile; -class Reader { -public: - virtual ~Reader(); - virtual Expected> create() const = 0; -}; - -class COFFReader : public Reader { +class COFFReader { const COFFObjectFile &COFFObj; Error readExecutableHeaders(Object &Obj) const; @@ -39,7 +33,7 @@ class COFFReader : public Reader { public: explicit COFFReader(const COFFObjectFile &O) : COFFObj(O) {} - Expected> create() const override; + Expected> create() const; }; } // end namespace coff diff --git a/llvm/tools/llvm-objcopy/COFF/Writer.cpp b/llvm/tools/llvm-objcopy/COFF/Writer.cpp index 213cb11..e32bf68 100644 --- a/llvm/tools/llvm-objcopy/COFF/Writer.cpp +++ b/llvm/tools/llvm-objcopy/COFF/Writer.cpp @@ -25,8 +25,6 @@ namespace coff { using namespace object; using namespace COFF; -Writer::~Writer() {} - Error COFFWriter::finalizeRelocTargets() { for (Section &Sec : Obj.Sections) { for (Relocation &R : Sec.Relocs) { diff --git a/llvm/tools/llvm-objcopy/COFF/Writer.h b/llvm/tools/llvm-objcopy/COFF/Writer.h index a2612ca..ab66e0c 100644 --- a/llvm/tools/llvm-objcopy/COFF/Writer.h +++ b/llvm/tools/llvm-objcopy/COFF/Writer.h @@ -22,19 +22,10 @@ namespace coff { struct Object; -class Writer { -protected: +class COFFWriter { Object &Obj; Buffer &Buf; -public: - virtual ~Writer(); - virtual Error write() = 0; - - Writer(Object &O, Buffer &B) : Obj(O), Buf(B) {} -}; - -class COFFWriter : public Writer { size_t FileSize; size_t FileAlignment; size_t SizeOfInitializedData; @@ -57,10 +48,10 @@ class COFFWriter : public Writer { public: virtual ~COFFWriter() {} - Error write() override; + Error write(); COFFWriter(Object &Obj, Buffer &Buf) - : Writer(Obj, Buf), StrTabBuilder(StringTableBuilder::WinCOFF) {} + : Obj(Obj), Buf(Buf), StrTabBuilder(StringTableBuilder::WinCOFF) {} }; } // end namespace coff -- 2.7.4