[PATCH] D56431: [llvm-objcopy] [COFF] Remove pointless Reader/Writer base classes. NFC.
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 8 03:26:46 PST 2019
mstorsjo created this revision.
mstorsjo added reviewers: alexshap, jakehehrlich, jhenderson.
Herald added a subscriber: rupprecht.
These were copied as part of the original design from the ELF backend, but aren't necessary at the moment.
In the original review of the initial COFF backend, I tried to get an opionion on whether to keep them or not, but I guess it drowned in the rest of that review. @alexshap pointed out in D55881 <https://reviews.llvm.org/D55881> that they could be removed.
Repository:
rL LLVM
https://reviews.llvm.org/D56431
Files:
tools/llvm-objcopy/COFF/Reader.cpp
tools/llvm-objcopy/COFF/Reader.h
tools/llvm-objcopy/COFF/Writer.cpp
tools/llvm-objcopy/COFF/Writer.h
Index: tools/llvm-objcopy/COFF/Writer.h
===================================================================
--- tools/llvm-objcopy/COFF/Writer.h
+++ tools/llvm-objcopy/COFF/Writer.h
@@ -22,19 +22,10 @@
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;
@@ -56,10 +47,10 @@
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
Index: tools/llvm-objcopy/COFF/Writer.cpp
===================================================================
--- tools/llvm-objcopy/COFF/Writer.cpp
+++ tools/llvm-objcopy/COFF/Writer.cpp
@@ -25,8 +25,6 @@
using namespace object;
using namespace COFF;
-Writer::~Writer() {}
-
void COFFWriter::layoutSections() {
for (auto &S : Obj.Sections) {
if (S.Header.SizeOfRawData > 0)
Index: tools/llvm-objcopy/COFF/Reader.h
===================================================================
--- tools/llvm-objcopy/COFF/Reader.h
+++ tools/llvm-objcopy/COFF/Reader.h
@@ -23,13 +23,7 @@
using object::COFFObjectFile;
-class Reader {
-public:
- virtual ~Reader();
- virtual Expected<std::unique_ptr<Object>> create() const = 0;
-};
-
-class COFFReader : public Reader {
+class COFFReader {
const COFFObjectFile &COFFObj;
Error readExecutableHeaders(Object &Obj) const;
@@ -38,7 +32,7 @@
public:
explicit COFFReader(const COFFObjectFile &O) : COFFObj(O) {}
- Expected<std::unique_ptr<Object>> create() const override;
+ Expected<std::unique_ptr<Object>> create() const;
};
} // end namespace coff
Index: tools/llvm-objcopy/COFF/Reader.cpp
===================================================================
--- tools/llvm-objcopy/COFF/Reader.cpp
+++ tools/llvm-objcopy/COFF/Reader.cpp
@@ -23,8 +23,6 @@
using namespace object;
-Reader::~Reader() {}
-
Error COFFReader::readExecutableHeaders(Object &Obj) const {
const dos_header *DH = COFFObj.getDOSHeader();
Obj.Is64 = COFFObj.is64();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56431.180638.patch
Type: text/x-patch
Size: 2389 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190108/e543f393/attachment.bin>
More information about the llvm-commits
mailing list