[lld] r202998 - Add "override" to member functions where appropriate.
Rui Ueyama
ruiu at google.com
Wed Mar 5 11:50:03 PST 2014
Author: ruiu
Date: Wed Mar 5 13:50:03 2014
New Revision: 202998
URL: http://llvm.org/viewvc/llvm-project?rev=202998&view=rev
Log:
Add "override" to member functions where appropriate.
Modified:
lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
lld/trunk/lib/ReaderWriter/PECOFF/EdataPass.h
lld/trunk/lib/ReaderWriter/PECOFF/GroupedSectionsPass.h
lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h
lld/trunk/lib/ReaderWriter/PECOFF/LoadConfigPass.h
lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
lld/trunk/lib/ReaderWriter/PECOFF/SetSubsystemPass.h
lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
Modified: lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h Wed Mar 5 13:50:03 2014
@@ -33,17 +33,16 @@ public:
: Reference(ns, arch, relocType), _target(target),
_offsetInAtom(offsetInAtom) {}
- virtual const Atom *target() const { return _target; }
- virtual void setTarget(const Atom *newAtom) { _target = newAtom; }
+ const Atom *target() const override { return _target; }
+ void setTarget(const Atom *newAtom) override { _target = newAtom; }
// Addend is a value to be added to the relocation target. For example, if
// target=AtomX and addend=4, the relocation address will become the address
// of AtomX + 4. COFF does not support that sort of relocation, thus addend
// is always zero.
- virtual Addend addend() const { return 0; }
- virtual void setAddend(Addend) {}
-
- virtual uint64_t offsetInAtom() const { return _offsetInAtom; }
+ Addend addend() const override { return 0; }
+ void setAddend(Addend) override {}
+ uint64_t offsetInAtom() const override { return _offsetInAtom; }
private:
const Atom *_target;
@@ -55,10 +54,10 @@ public:
COFFAbsoluteAtom(const File &f, StringRef name, Scope scope, uint64_t value)
: _owningFile(f), _name(name), _scope(scope), _value(value) {}
- virtual const File &file() const { return _owningFile; }
- virtual Scope scope() const { return _scope; }
- virtual StringRef name() const { return _name; }
- virtual uint64_t value() const { return _value; }
+ const File &file() const override { return _owningFile; }
+ Scope scope() const override { return _scope; }
+ StringRef name() const override { return _name; }
+ uint64_t value() const override { return _value; }
private:
const File &_owningFile;
@@ -73,10 +72,10 @@ public:
const UndefinedAtom *fallback = nullptr)
: _owningFile(file), _name(name), _fallback(fallback) {}
- virtual const File &file() const { return _owningFile; }
- virtual StringRef name() const { return _name; }
- virtual CanBeNull canBeNull() const { return CanBeNull::canBeNullNever; }
- virtual const UndefinedAtom *fallback() const { return _fallback; }
+ const File &file() const override { return _owningFile; }
+ StringRef name() const override { return _name; }
+ CanBeNull canBeNull() const override { return CanBeNull::canBeNullNever; }
+ const UndefinedAtom *fallback() const override { return _fallback; }
private:
const File &_owningFile;
@@ -95,16 +94,18 @@ public:
Internal
};
- virtual const File &file() const { return _file; }
- virtual StringRef name() const { return _name; }
- virtual Interposable interposable() const { return interposeNo; }
- virtual Merge merge() const { return mergeNo; }
- virtual Alignment alignment() const { return Alignment(0); }
- virtual SectionChoice sectionChoice() const = 0;
- virtual StringRef customSectionName() const { return ""; }
- virtual SectionPosition sectionPosition() const { return sectionPositionAny; }
- virtual DeadStripKind deadStrip() const { return deadStripNormal; }
- virtual bool isAlias() const { return false; }
+ const File &file() const override { return _file; }
+ StringRef name() const override { return _name; }
+ Interposable interposable() const override { return interposeNo; }
+ Merge merge() const override { return mergeNo; }
+ Alignment alignment() const override { return Alignment(0); }
+ SectionChoice sectionChoice() const = 0;
+ StringRef customSectionName() const override { return ""; }
+ SectionPosition sectionPosition() const override {
+ return sectionPositionAny;
+ }
+ DeadStripKind deadStrip() const override { return deadStripNormal; }
+ bool isAlias() const override { return false; }
Kind getKind() const { return _kind; }
@@ -112,11 +113,11 @@ public:
_references.push_back(std::move(reference));
}
- virtual reference_iterator begin() const {
+ reference_iterator begin() const override {
return reference_iterator(*this, reinterpret_cast<const void *>(0));
}
- virtual reference_iterator end() const {
+ reference_iterator end() const override {
return reference_iterator(
*this, reinterpret_cast<const void *>(_references.size()));
}
@@ -126,12 +127,12 @@ protected:
: _file(file), _name(name), _kind(kind) {}
private:
- virtual const Reference *derefIterator(const void *iter) const {
+ const Reference *derefIterator(const void *iter) const override {
size_t index = reinterpret_cast<size_t>(iter);
return _references[index].get();
}
- virtual void incrementIterator(const void *&iter) const {
+ void incrementIterator(const void *&iter) const override {
size_t index = reinterpret_cast<size_t>(iter);
iter = reinterpret_cast<const void *>(index + 1);
}
@@ -159,13 +160,13 @@ public:
void setAlignment(Alignment val) { _alignment = val; }
- virtual SectionChoice sectionChoice() const { return sectionCustomRequired; }
- virtual StringRef customSectionName() const { return _sectionName; }
- virtual Scope scope() const { return _scope; }
- virtual ContentType contentType() const { return _contentType; }
- virtual ContentPermissions permissions() const { return _permissions; }
- virtual uint64_t ordinal() const { return _ordinal; }
- virtual Alignment alignment() const { return _alignment; }
+ SectionChoice sectionChoice() const override { return sectionCustomRequired; }
+ StringRef customSectionName() const override { return _sectionName; }
+ Scope scope() const override { return _scope; }
+ ContentType contentType() const override { return _contentType; }
+ ContentPermissions permissions() const override { return _permissions; }
+ uint64_t ordinal() const override { return _ordinal; }
+ Alignment alignment() const override { return _alignment; }
private:
StringRef _sectionName;
@@ -188,11 +189,11 @@ public:
ordinal),
_isComdat(isComdat), _merge(merge), _dataref(data) {}
- virtual Merge merge() const { return _merge; }
- virtual uint64_t size() const { return _dataref.size(); }
- virtual ArrayRef<uint8_t> rawContent() const { return _dataref; }
+ Merge merge() const override { return _merge; }
+ uint64_t size() const override { return _dataref.size(); }
+ ArrayRef<uint8_t> rawContent() const override { return _dataref; }
- virtual DeadStripKind deadStrip() const {
+ DeadStripKind deadStrip() const override {
// Only COMDAT symbols would be dead-stripped.
return _isComdat ? deadStripNormal : deadStripNever;
}
@@ -213,9 +214,9 @@ public:
ordinal),
_merge(merge), _size(size) {}
- virtual Merge merge() const { return _merge; }
- virtual uint64_t size() const { return _size; }
- virtual ArrayRef<uint8_t> rawContent() const { return _contents; }
+ Merge merge() const override { return _merge; }
+ uint64_t size() const override { return _size; }
+ ArrayRef<uint8_t> rawContent() const override { return _contents; }
private:
Merge _merge;
@@ -227,12 +228,12 @@ private:
/// not read from file.
class COFFLinkerInternalAtom : public COFFBaseDefinedAtom {
public:
- virtual SectionChoice sectionChoice() const { return sectionBasedOnContent; }
- virtual uint64_t ordinal() const { return _ordinal; }
- virtual Scope scope() const { return scopeGlobal; }
- virtual Alignment alignment() const { return Alignment(0); }
- virtual uint64_t size() const { return _data.size(); }
- virtual ArrayRef<uint8_t> rawContent() const { return _data; }
+ SectionChoice sectionChoice() const override { return sectionBasedOnContent; }
+ uint64_t ordinal() const override { return _ordinal; }
+ Scope scope() const override { return scopeGlobal; }
+ Alignment alignment() const override { return Alignment(0); }
+ uint64_t size() const override { return _data.size(); }
+ ArrayRef<uint8_t> rawContent() const override { return _data; }
protected:
COFFLinkerInternalAtom(const File &file, uint64_t ordinal,
@@ -252,10 +253,10 @@ public:
: COFFLinkerInternalAtom(file, ordinal, stringRefToVector(contents)),
_sectionName(sectionName) {}
- virtual SectionChoice sectionChoice() const { return sectionCustomRequired; }
- virtual StringRef customSectionName() const { return _sectionName; }
- virtual ContentType contentType() const { return typeData; }
- virtual ContentPermissions permissions() const { return permR__; }
+ SectionChoice sectionChoice() const override { return sectionCustomRequired; }
+ StringRef customSectionName() const override { return _sectionName; }
+ ContentType contentType() const override { return typeData; }
+ ContentPermissions permissions() const override { return permR__; }
private:
StringRef _sectionName;
@@ -279,20 +280,20 @@ public:
_importName(importName), _dllName(dllName), _importTableEntry(nullptr) {
}
- virtual const File &file() const { return _file; }
+ const File &file() const override { return _file; }
uint16_t hint() const { return _hint; }
/// Returns the symbol name to be used by the core linker.
- virtual StringRef name() const { return _mangledName; }
+ StringRef name() const override { return _mangledName; }
/// Returns the symbol name to be used in the import description table in the
/// COFF header.
virtual StringRef importName() const { return _importName; }
- virtual StringRef loadName() const { return _dllName; }
- virtual bool canBeNullAtRuntime() const { return false; }
- virtual Type type() const { return Type::Unknown; }
- virtual uint64_t size() const { return 0; }
+ StringRef loadName() const override { return _dllName; }
+ bool canBeNullAtRuntime() const override { return false; }
+ Type type() const override { return Type::Unknown; }
+ uint64_t size() const override { return 0; }
void setImportTableEntry(const DefinedAtom *atom) {
_importTableEntry = atom;
Modified: lld/trunk/lib/ReaderWriter/PECOFF/EdataPass.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/EdataPass.h?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/EdataPass.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/EdataPass.h Wed Mar 5 13:50:03 2014
@@ -51,10 +51,10 @@ public:
: COFFLinkerInternalAtom(file, file.getNextOrdinal(),
std::vector<uint8_t>(size)) {}
- virtual SectionChoice sectionChoice() const { return sectionCustomRequired; }
- virtual StringRef customSectionName() const { return ".edata"; }
- virtual ContentType contentType() const { return typeData; }
- virtual ContentPermissions permissions() const { return permR__; }
+ SectionChoice sectionChoice() const override { return sectionCustomRequired; }
+ StringRef customSectionName() const override { return ".edata"; }
+ ContentType contentType() const override { return typeData; }
+ ContentPermissions permissions() const override { return permR__; }
template <typename T> T *getContents() const {
return (T *)rawContent().data();
@@ -68,7 +68,7 @@ public:
EdataPass(PECOFFLinkingContext &ctx)
: _ctx(ctx), _file(ctx), _stringOrdinal(1024) {}
- virtual void perform(std::unique_ptr<MutableFile> &file);
+ void perform(std::unique_ptr<MutableFile> &file) override;
private:
edata::EdataAtom *
Modified: lld/trunk/lib/ReaderWriter/PECOFF/GroupedSectionsPass.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/GroupedSectionsPass.h?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/GroupedSectionsPass.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/GroupedSectionsPass.h Wed Mar 5 13:50:03 2014
@@ -48,7 +48,7 @@ static bool compare(const DefinedAtom *l
class GroupedSectionsPass : public lld::Pass {
public:
- virtual void perform(std::unique_ptr<MutableFile> &file) {
+ void perform(std::unique_ptr<MutableFile> &file) override {
auto definedAtoms = file->definedAtoms();
std::stable_sort(definedAtoms.begin(), definedAtoms.end(), compare);
}
Modified: lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h Wed Mar 5 13:50:03 2014
@@ -49,10 +49,10 @@ struct Context {
/// The root class of all idata atoms.
class IdataAtom : public COFFLinkerInternalAtom {
public:
- virtual SectionChoice sectionChoice() const { return sectionCustomRequired; }
- virtual StringRef customSectionName() const { return ".idata"; }
- virtual ContentType contentType() const { return typeData; }
- virtual ContentPermissions permissions() const { return permR__; }
+ SectionChoice sectionChoice() const override { return sectionCustomRequired; }
+ StringRef customSectionName() const override { return ".idata"; }
+ ContentType contentType() const override { return typeData; }
+ ContentPermissions permissions() const override { return permR__; }
protected:
IdataAtom(Context &context, std::vector<uint8_t> data);
@@ -84,7 +84,7 @@ public:
: IdataAtom(context, assembleRawContent(contents)),
_sectionName(sectionName) {}
- virtual StringRef customSectionName() const {
+ StringRef customSectionName() const override {
return _sectionName;
};
@@ -105,7 +105,7 @@ public:
addRelocations(context, loadName, sharedAtoms);
}
- virtual StringRef customSectionName() const { return ".idata.d"; }
+ StringRef customSectionName() const override { return ".idata.d"; }
private:
void addRelocations(Context &context, StringRef loadName,
@@ -124,7 +124,7 @@ public:
explicit NullImportDirectoryAtom(Context &context)
: IdataAtom(context, std::vector<uint8_t>(20, 0)) {}
- virtual StringRef customSectionName() const { return ".idata.d"; }
+ StringRef customSectionName() const override { return ".idata.d"; }
};
} // namespace idata
@@ -133,7 +133,7 @@ class IdataPass : public lld::Pass {
public:
IdataPass(const LinkingContext &ctx) : _dummyFile(ctx) {}
- virtual void perform(std::unique_ptr<MutableFile> &file);
+ void perform(std::unique_ptr<MutableFile> &file) override;
private:
std::map<StringRef, std::vector<COFFSharedLibraryAtom *> >
Modified: lld/trunk/lib/ReaderWriter/PECOFF/LoadConfigPass.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/LoadConfigPass.h?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/LoadConfigPass.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/LoadConfigPass.h Wed Mar 5 13:50:03 2014
@@ -35,10 +35,10 @@ class LoadConfigAtom : public COFFLinker
public:
LoadConfigAtom(VirtualFile &file, const DefinedAtom *sxdata, int count);
- virtual SectionChoice sectionChoice() const { return sectionCustomRequired; }
- virtual StringRef customSectionName() const { return ".loadcfg"; }
- virtual ContentType contentType() const { return typeData; }
- virtual ContentPermissions permissions() const { return permR__; }
+ SectionChoice sectionChoice() const override { return sectionCustomRequired; }
+ StringRef customSectionName() const override { return ".loadcfg"; }
+ ContentType contentType() const override { return typeData; }
+ ContentPermissions permissions() const override { return permR__; }
template <typename T> T *getContents() const {
return (T *)rawContent().data();
@@ -51,7 +51,7 @@ class LoadConfigPass : public lld::Pass
public:
LoadConfigPass(PECOFFLinkingContext &ctx) : _ctx(ctx), _file(ctx) {}
- virtual void perform(std::unique_ptr<MutableFile> &file);
+ void perform(std::unique_ptr<MutableFile> &file) override;
private:
PECOFFLinkingContext &_ctx;
Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Wed Mar 5 13:50:03 2014
@@ -72,19 +72,19 @@ public:
StringRef getLinkerDirectives() const { return _directives; }
bool isCompatibleWithSEH() const { return _compatibleWithSEH; }
- virtual const atom_collection<DefinedAtom> &defined() const {
+ const atom_collection<DefinedAtom> &defined() const override {
return _definedAtoms;
}
- virtual const atom_collection<UndefinedAtom> &undefined() const {
+ const atom_collection<UndefinedAtom> &undefined() const override {
return _undefinedAtoms;
}
- virtual const atom_collection<SharedLibraryAtom> &sharedLibrary() const {
+ const atom_collection<SharedLibraryAtom> &sharedLibrary() const override {
return _sharedLibraryAtoms;
}
- virtual const atom_collection<AbsoluteAtom> &absolute() const {
+ const atom_collection<AbsoluteAtom> &absolute() const override {
return _absoluteAtoms;
}
@@ -176,7 +176,7 @@ private:
class BumpPtrStringSaver : public llvm::cl::StringSaver {
public:
- virtual const char *SaveString(const char *str) {
+ const char *SaveString(const char *str) override {
size_t len = strlen(str);
char *copy = _alloc.Allocate<char>(len + 1);
memcpy(copy, str, len + 1);
@@ -892,14 +892,14 @@ StringRef FileCOFF::ArrayRefToString(Arr
// cvtres.exe on RC files and then then link its outputs.
class ResourceFileReader : public Reader {
public:
- virtual bool canParse(file_magic magic, StringRef ext,
- const MemoryBuffer &) const {
+ bool canParse(file_magic magic, StringRef ext,
+ const MemoryBuffer &) const override {
return (magic == llvm::sys::fs::file_magic::windows_resource);
}
- virtual error_code
+ error_code
parseFile(std::unique_ptr<MemoryBuffer> &mb, const class Registry &,
- std::vector<std::unique_ptr<File>> &result) const {
+ std::vector<std::unique_ptr<File> > &result) const override {
// Convert RC file to COFF
ErrorOr<std::string> coffPath = convertResourceFileToCOFF(std::move(mb));
if (error_code ec = coffPath.getError())
@@ -994,14 +994,14 @@ class COFFObjectReader : public Reader {
public:
COFFObjectReader(PECOFFLinkingContext &ctx) : _context(ctx) {}
- virtual bool canParse(file_magic magic, StringRef ext,
- const MemoryBuffer &) const {
+ bool canParse(file_magic magic, StringRef ext,
+ const MemoryBuffer &) const override {
return (magic == llvm::sys::fs::file_magic::coff_object);
}
- virtual error_code
+ error_code
parseFile(std::unique_ptr<MemoryBuffer> &mb, const Registry ®istry,
- std::vector<std::unique_ptr<File>> &result) const {
+ std::vector<std::unique_ptr<File> > &result) const override {
// Parse the memory buffer as PECOFF file.
const char *mbName = mb->getBufferIdentifier();
error_code ec;
Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp Wed Mar 5 13:50:03 2014
@@ -165,11 +165,11 @@ public:
FuncAtomContent + sizeof(FuncAtomContent)),
symbolName) {}
- virtual uint64_t ordinal() const { return 0; }
- virtual Scope scope() const { return scopeGlobal; }
- virtual ContentType contentType() const { return typeCode; }
- virtual Alignment alignment() const { return Alignment(1); }
- virtual ContentPermissions permissions() const { return permR_X; }
+ uint64_t ordinal() const override { return 0; }
+ Scope scope() const override { return scopeGlobal; }
+ ContentType contentType() const override { return typeCode; }
+ Alignment alignment() const override { return Alignment(1); }
+ ContentPermissions permissions() const override { return permR_X; }
};
class FileImportLibrary : public File {
@@ -214,19 +214,19 @@ public:
ec = error_code::success();
}
- virtual const atom_collection<DefinedAtom> &defined() const {
+ const atom_collection<DefinedAtom> &defined() const override {
return _definedAtoms;
}
- virtual const atom_collection<UndefinedAtom> &undefined() const {
+ const atom_collection<UndefinedAtom> &undefined() const override {
return _noUndefinedAtoms;
}
- virtual const atom_collection<SharedLibraryAtom> &sharedLibrary() const {
+ const atom_collection<SharedLibraryAtom> &sharedLibrary() const override {
return _sharedLibraryAtoms;
}
- virtual const atom_collection<AbsoluteAtom> &absolute() const {
+ const atom_collection<AbsoluteAtom> &absolute() const override {
return _noAbsoluteAtoms;
}
@@ -292,16 +292,16 @@ private:
class COFFImportLibraryReader : public Reader {
public:
- virtual bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &mb) const {
+ bool canParse(file_magic magic, StringRef,
+ const MemoryBuffer &mb) const override {
if (mb.getBufferSize() < sizeof(COFF::ImportHeader))
return false;
return (magic == llvm::sys::fs::file_magic::coff_import_library);
}
- virtual error_code
+ error_code
parseFile(std::unique_ptr<MemoryBuffer> &mb, const class Registry &,
- std::vector<std::unique_ptr<File>> &result) const {
+ std::vector<std::unique_ptr<File> > &result) const override {
error_code ec;
auto file = std::unique_ptr<File>(new FileImportLibrary(std::move(mb), ec));
if (ec)
Modified: lld/trunk/lib/ReaderWriter/PECOFF/SetSubsystemPass.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/SetSubsystemPass.h?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/SetSubsystemPass.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/SetSubsystemPass.h Wed Mar 5 13:50:03 2014
@@ -23,7 +23,7 @@ class SetSubsystemPass : public lld::Pas
public:
SetSubsystemPass(PECOFFLinkingContext &ctx) : _ctx(ctx) {}
- virtual void perform(std::unique_ptr<MutableFile> &file) {
+ void perform(std::unique_ptr<MutableFile> &file) override {
if (_ctx.getSubsystem() != WindowsSubsystem::IMAGE_SUBSYSTEM_UNKNOWN)
return;
StringRef main = _ctx.decorateSymbol("main");
Modified: lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp?rev=202998&r1=202997&r2=202998&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp Wed Mar 5 13:50:03 2014
@@ -114,7 +114,7 @@ public:
_size = llvm::RoundUpToAlignment(size, 8);
}
- virtual void write(uint8_t *buffer) {
+ void write(uint8_t *buffer) override {
ArrayRef<uint8_t> array = _context.getDosStub();
std::memcpy(buffer, array.data(), array.size());
auto *header = reinterpret_cast<llvm::object::dos_header *>(buffer);
@@ -131,7 +131,7 @@ class PEHeaderChunk : public HeaderChunk
public:
explicit PEHeaderChunk(const PECOFFLinkingContext &ctx);
- virtual void write(uint8_t *buffer);
+ void write(uint8_t *buffer) override;
void setSizeOfHeaders(uint64_t size) {
// Must be multiple of FileAlignment.
@@ -168,8 +168,8 @@ class SectionHeaderTableChunk : public H
public:
SectionHeaderTableChunk() : HeaderChunk() {}
void addSection(SectionChunk *chunk);
- virtual uint64_t size() const;
- virtual void write(uint8_t *buffer);
+ uint64_t size() const override;
+ void write(uint8_t *buffer) override;
private:
static llvm::object::coff_section createSectionHeader(SectionChunk *chunk);
@@ -179,7 +179,7 @@ private:
class SectionChunk : public Chunk {
public:
- virtual uint64_t align() const { return SECTOR_SIZE; }
+ uint64_t align() const override { return SECTOR_SIZE; }
uint32_t getCharacteristics() const { return _characteristics; }
StringRef getSectionName() const { return _sectionName; }
@@ -208,7 +208,7 @@ public:
AtomChunk(const PECOFFLinkingContext &ctx, StringRef name,
const std::vector<const DefinedAtom *> &atoms);
- virtual void write(uint8_t *buffer);
+ void write(uint8_t *buffer) override;
void appendAtom(const DefinedAtom *atom);
void buildAtomRvaMap(std::map<const Atom *, uint64_t> &atomRva) const;
@@ -225,7 +225,7 @@ public:
void printAtomAddresses(uint64_t baseAddr) const;
void addBaseRelocations(std::vector<uint64_t> &relocSites) const;
- virtual void setVirtualAddress(uint32_t rva);
+ void setVirtualAddress(uint32_t rva) override;
uint64_t getAtomVirtualAddress(StringRef name) const;
static bool classof(const Chunk *c) { return c->getKind() == kindAtomChunk; }
@@ -257,12 +257,12 @@ public:
DataDirectoryChunk()
: HeaderChunk(), _data(std::vector<llvm::object::data_directory>(16)) {}
- virtual uint64_t size() const {
+ uint64_t size() const override {
return sizeof(llvm::object::data_directory) * _data.size();
}
void setField(DataDirectoryIndex index, uint32_t addr, uint32_t size);
- virtual void write(uint8_t *buffer);
+ void write(uint8_t *buffer) override;
private:
std::vector<llvm::object::data_directory> _data;
@@ -290,11 +290,11 @@ public:
: SectionChunk(kindSection, ".reloc", characteristics),
_contents(createContents(chunks)) {}
- virtual void write(uint8_t *buffer) {
+ void write(uint8_t *buffer) override {
std::memcpy(buffer, &_contents[0], _contents.size());
}
- virtual uint64_t size() const { return _contents.size(); }
+ uint64_t size() const override { return _contents.size(); }
private:
// When loaded into memory, reloc section should be readable and writable.
@@ -832,7 +832,7 @@ public:
_imageSizeOnDisk(0) {}
template <class PEHeader> void build(const File &linkedFile);
- virtual error_code writeFile(const File &linkedFile, StringRef path);
+ error_code writeFile(const File &linkedFile, StringRef path) override;
private:
void applyAllRelocations(uint8_t *bufferStart);
More information about the llvm-commits
mailing list