summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2014-03-06 21:14:04 +0000
committerRui Ueyama <ruiu@google.com>2014-03-06 21:14:04 +0000
commit16e543bc02d812cb1aeb8e4dd394414934c154d3 (patch)
tree0e7db2b865ffba466ca750742bf3cb4f54ea9cc6 /lld/lib/ReaderWriter
parent9cce17a23ac8e18600cef0a9946557e434545d92 (diff)
downloadbcm5719-llvm-16e543bc02d812cb1aeb8e4dd394414934c154d3.tar.gz
bcm5719-llvm-16e543bc02d812cb1aeb8e4dd394414934c154d3.zip
Add "override" and remove "virtual" where appropriate.
For the record, I used clang-modernize to add "override" and perl to remove "virtual". llvm-svn: 203164
Diffstat (limited to 'lld/lib/ReaderWriter')
-rw-r--r--lld/lib/ReaderWriter/CoreLinkingContext.cpp108
-rw-r--r--lld/lib/ReaderWriter/ELF/ArrayOrderPass.h2
-rw-r--r--lld/lib/ReaderWriter/ELF/Atoms.h2
-rw-r--r--lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp2
-rw-r--r--lld/lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp8
-rw-r--r--lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp18
-rw-r--r--lld/lib/ReaderWriter/ELF/Reader.cpp8
-rw-r--r--lld/lib/ReaderWriter/ELF/SectionChunks.h4
-rw-r--r--lld/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp8
-rw-r--r--lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp8
-rw-r--r--lld/lib/ReaderWriter/FileArchive.cpp16
-rw-r--r--lld/lib/ReaderWriter/MachO/WriterMachO.cpp4
-rw-r--r--lld/lib/ReaderWriter/Native/ReaderNative.cpp102
-rw-r--r--lld/lib/ReaderWriter/Native/WriterNative.cpp2
-rw-r--r--lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp112
15 files changed, 202 insertions, 202 deletions
diff --git a/lld/lib/ReaderWriter/CoreLinkingContext.cpp b/lld/lib/ReaderWriter/CoreLinkingContext.cpp
index 31d8440b099..0ee4b51af92 100644
--- a/lld/lib/ReaderWriter/CoreLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/CoreLinkingContext.cpp
@@ -29,57 +29,57 @@ public:
_ordinal = lastOrdinal++;
}
- virtual const File &file() const { return _file; }
+ const File &file() const override { return _file; }
- virtual StringRef name() const { return StringRef(); }
+ StringRef name() const override { return StringRef(); }
- virtual uint64_t ordinal() const { return _ordinal; }
+ uint64_t ordinal() const override { return _ordinal; }
- virtual uint64_t size() const { return 0; }
+ uint64_t size() const override { return 0; }
- virtual Scope scope() const { return DefinedAtom::scopeLinkageUnit; }
+ Scope scope() const override { return DefinedAtom::scopeLinkageUnit; }
- virtual Interposable interposable() const { return DefinedAtom::interposeNo; }
+ Interposable interposable() const override { return DefinedAtom::interposeNo; }
- virtual Merge merge() const { return DefinedAtom::mergeNo; }
+ Merge merge() const override { return DefinedAtom::mergeNo; }
- virtual ContentType contentType() const { return DefinedAtom::typeStub; }
+ ContentType contentType() const override { return DefinedAtom::typeStub; }
- virtual Alignment alignment() const { return Alignment(0, 0); }
+ Alignment alignment() const override { return Alignment(0, 0); }
- virtual SectionChoice sectionChoice() const {
+ SectionChoice sectionChoice() const override {
return DefinedAtom::sectionBasedOnContent;
}
- virtual StringRef customSectionName() const { return StringRef(); }
+ StringRef customSectionName() const override { return StringRef(); }
- virtual SectionPosition sectionPosition() const { return sectionPositionAny; }
+ SectionPosition sectionPosition() const override { return sectionPositionAny; }
- virtual DeadStripKind deadStrip() const {
+ DeadStripKind deadStrip() const override {
return DefinedAtom::deadStripNormal;
}
- virtual ContentPermissions permissions() const {
+ ContentPermissions permissions() const override {
return DefinedAtom::permR_X;
}
- virtual bool isAlias() const { return false; }
+ bool isAlias() const override { return false; }
- virtual ArrayRef<uint8_t> rawContent() const { return ArrayRef<uint8_t>(); }
+ ArrayRef<uint8_t> rawContent() const override { return ArrayRef<uint8_t>(); }
- virtual reference_iterator begin() const {
+ reference_iterator begin() const override {
return reference_iterator(*this, nullptr);
}
- virtual reference_iterator end() const {
+ reference_iterator end() const override {
return reference_iterator(*this, nullptr);
}
- virtual const Reference *derefIterator(const void *iter) const {
+ const Reference *derefIterator(const void *iter) const override {
return nullptr;
}
- virtual void incrementIterator(const void *&iter) const {}
+ void incrementIterator(const void *&iter) const override {}
private:
const File &_file;
@@ -94,57 +94,57 @@ public:
_ordinal = lastOrdinal++;
}
- virtual const File &file() const { return _file; }
+ const File &file() const override { return _file; }
- virtual StringRef name() const { return StringRef(); }
+ StringRef name() const override { return StringRef(); }
- virtual uint64_t ordinal() const { return _ordinal; }
+ uint64_t ordinal() const override { return _ordinal; }
- virtual uint64_t size() const { return 0; }
+ uint64_t size() const override { return 0; }
- virtual Scope scope() const { return DefinedAtom::scopeLinkageUnit; }
+ Scope scope() const override { return DefinedAtom::scopeLinkageUnit; }
- virtual Interposable interposable() const { return DefinedAtom::interposeNo; }
+ Interposable interposable() const override { return DefinedAtom::interposeNo; }
- virtual Merge merge() const { return DefinedAtom::mergeNo; }
+ Merge merge() const override { return DefinedAtom::mergeNo; }
- virtual ContentType contentType() const { return DefinedAtom::typeGOT; }
+ ContentType contentType() const override { return DefinedAtom::typeGOT; }
- virtual Alignment alignment() const { return Alignment(3, 0); }
+ Alignment alignment() const override { return Alignment(3, 0); }
- virtual SectionChoice sectionChoice() const {
+ SectionChoice sectionChoice() const override {
return DefinedAtom::sectionBasedOnContent;
}
- virtual StringRef customSectionName() const { return StringRef(); }
+ StringRef customSectionName() const override { return StringRef(); }
- virtual SectionPosition sectionPosition() const { return sectionPositionAny; }
+ SectionPosition sectionPosition() const override { return sectionPositionAny; }
- virtual DeadStripKind deadStrip() const {
+ DeadStripKind deadStrip() const override {
return DefinedAtom::deadStripNormal;
}
- virtual ContentPermissions permissions() const {
+ ContentPermissions permissions() const override {
return DefinedAtom::permRW_;
}
- virtual bool isAlias() const { return false; }
+ bool isAlias() const override { return false; }
- virtual ArrayRef<uint8_t> rawContent() const { return ArrayRef<uint8_t>(); }
+ ArrayRef<uint8_t> rawContent() const override { return ArrayRef<uint8_t>(); }
- virtual reference_iterator begin() const {
+ reference_iterator begin() const override {
return reference_iterator(*this, nullptr);
}
- virtual reference_iterator end() const {
+ reference_iterator end() const override {
return reference_iterator(*this, nullptr);
}
- virtual const Reference *derefIterator(const void *iter) const {
+ const Reference *derefIterator(const void *iter) const override {
return nullptr;
}
- virtual void incrementIterator(const void *&iter) const {}
+ void incrementIterator(const void *&iter) const override {}
private:
const File &_file;
@@ -155,28 +155,28 @@ class TestingPassFile : public SimpleFile {
public:
TestingPassFile(const LinkingContext &ctx) : SimpleFile("Testing pass") {}
- virtual void addAtom(const Atom &atom) {
+ void addAtom(const Atom &atom) override {
if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(&atom))
_definedAtoms._atoms.push_back(defAtom);
else
llvm_unreachable("atom has unknown definition kind");
}
- virtual DefinedAtomRange definedAtoms() {
+ DefinedAtomRange definedAtoms() override {
return range<std::vector<const DefinedAtom *>::iterator>(
_definedAtoms._atoms.begin(), _definedAtoms._atoms.end());
}
- 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;
}
@@ -192,21 +192,21 @@ class TestingStubsPass : public StubsPass {
public:
TestingStubsPass(const LinkingContext &ctx) : _file(TestingPassFile(ctx)) {}
- virtual bool noTextRelocs() { return true; }
+ bool noTextRelocs() override { return true; }
- virtual bool isCallSite(const Reference &ref) {
+ bool isCallSite(const Reference &ref) override {
if (ref.kindNamespace() != Reference::KindNamespace::testing)
return false;
return (ref.kindValue() == CoreLinkingContext::TEST_RELOC_CALL32);
}
- virtual const DefinedAtom *getStub(const Atom &target) {
+ const DefinedAtom *getStub(const Atom &target) override {
const DefinedAtom *result = new TestingStubAtom(_file, target);
_file.addAtom(*result);
return result;
}
- virtual void addStubAtoms(MutableFile &mergedFile) {
+ void addStubAtoms(MutableFile &mergedFile) override {
for (const DefinedAtom *stub : _file.defined()) {
mergedFile.addAtom(*stub);
}
@@ -220,9 +220,9 @@ class TestingGOTPass : public GOTPass {
public:
TestingGOTPass(const LinkingContext &ctx) : _file(TestingPassFile(ctx)) {}
- virtual bool noTextRelocs() { return true; }
+ bool noTextRelocs() override { return true; }
- virtual bool isGOTAccess(const Reference &ref, bool &canBypassGOT) {
+ bool isGOTAccess(const Reference &ref, bool &canBypassGOT) override {
if (ref.kindNamespace() != Reference::KindNamespace::testing)
return false;
switch (ref.kindValue()) {
@@ -236,13 +236,13 @@ public:
return false;
}
- virtual void updateReferenceToGOT(const Reference *ref, bool targetIsNowGOT) {
+ void updateReferenceToGOT(const Reference *ref, bool targetIsNowGOT) override {
const_cast<Reference *>(ref)->setKindValue(
targetIsNowGOT ? CoreLinkingContext::TEST_RELOC_PCREL32
: CoreLinkingContext::TEST_RELOC_LEA32_WAS_GOT);
}
- virtual const DefinedAtom *makeGOTEntry(const Atom &target) {
+ const DefinedAtom *makeGOTEntry(const Atom &target) override {
return new TestingGOTAtom(_file, target);
}
diff --git a/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h b/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h
index 033348d78ba..0688fdc63d2 100644
--- a/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h
+++ b/lld/lib/ReaderWriter/ELF/ArrayOrderPass.h
@@ -18,7 +18,7 @@ namespace elf {
class ArrayOrderPass : public Pass {
public:
ArrayOrderPass() : Pass() {}
- virtual void perform(std::unique_ptr<MutableFile> &mergedFile) override;
+ void perform(std::unique_ptr<MutableFile> &mergedFile) override;
};
}
}
diff --git a/lld/lib/ReaderWriter/ELF/Atoms.h b/lld/lib/ReaderWriter/ELF/Atoms.h
index 7dcaed8d6e1..e7af3cc1206 100644
--- a/lld/lib/ReaderWriter/ELF/Atoms.h
+++ b/lld/lib/ReaderWriter/ELF/Atoms.h
@@ -698,7 +698,7 @@ public:
}
}
- virtual uint64_t size() const override {
+ uint64_t size() const override {
return _symbol->st_size;
}
diff --git a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
index 63ae3f4b30f..7bb8dc52b51 100644
--- a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
@@ -30,7 +30,7 @@ public:
CommandLineUndefinedAtom(const File &f, StringRef name)
: SimpleUndefinedAtom(f, name) {}
- virtual CanBeNull canBeNull() const {
+ CanBeNull canBeNull() const override {
return CanBeNull::canBeNullAtBuildtime;
}
};
diff --git a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp
index ceab5d3c031..f251b8256b9 100644
--- a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp
@@ -37,11 +37,11 @@ public:
_name += function;
#endif
}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return ArrayRef<uint8_t>(hexagonInitFiniAtomContent, 4);
}
- virtual Alignment alignment() const { return Alignment(2); }
+ Alignment alignment() const override { return Alignment(2); }
};
class HexagonFiniAtom : public InitFiniAtom {
@@ -53,10 +53,10 @@ public:
_name += function;
#endif
}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return ArrayRef<uint8_t>(hexagonInitFiniAtomContent, 4);
}
- virtual Alignment alignment() const { return Alignment(2); }
+ Alignment alignment() const override { return Alignment(2); }
};
class HexagonInitFiniFile : public SimpleFile {
diff --git a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
index 1e0b4fb4334..d6dd43781e5 100644
--- a/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
+++ b/lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
@@ -73,33 +73,33 @@ class HexagonGOTAtom : public GOTAtom {
public:
HexagonGOTAtom(const File &f) : GOTAtom(f, ".got") {}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return makeArrayRef(hexagonGotAtomContent);
}
- virtual Alignment alignment() const { return Alignment(2); }
+ Alignment alignment() const override { return Alignment(2); }
};
class HexagonGOTPLTAtom : public GOTAtom {
public:
HexagonGOTPLTAtom(const File &f) : GOTAtom(f, ".got.plt") {}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return makeArrayRef(hexagonGotPltAtomContent);
}
- virtual Alignment alignment() const { return Alignment(2); }
+ Alignment alignment() const override { return Alignment(2); }
};
class HexagonGOTPLT0Atom : public GOTAtom {
public:
HexagonGOTPLT0Atom(const File &f) : GOTAtom(f, ".got.plt") {}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return makeArrayRef(hexagonGotPlt0AtomContent);
}
- virtual Alignment alignment() const { return Alignment(3); }
+ Alignment alignment() const override { return Alignment(3); }
};
class HexagonPLT0Atom : public PLT0Atom {
@@ -110,7 +110,7 @@ public:
#endif
}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return makeArrayRef(hexagonPlt0AtomContent);
}
};
@@ -120,7 +120,7 @@ class HexagonPLTAtom : public PLTAtom {
public:
HexagonPLTAtom(const File &f, StringRef secName) : PLTAtom(f, secName) {}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return makeArrayRef(hexagonPltAtomContent);
}
};
@@ -180,7 +180,7 @@ public:
///
/// After all references are handled, the atoms created during that are all
/// added to mf.
- virtual void perform(std::unique_ptr<MutableFile> &mf) {
+ void perform(std::unique_ptr<MutableFile> &mf) override {
// Process all references.
for (const auto &atom : mf->defined())
for (const auto &ref : *atom)
diff --git a/lld/lib/ReaderWriter/ELF/Reader.cpp b/lld/lib/ReaderWriter/ELF/Reader.cpp
index 96eb4b05d36..c201d23b0f1 100644
--- a/lld/lib/ReaderWriter/ELF/Reader.cpp
+++ b/lld/lib/ReaderWriter/ELF/Reader.cpp
@@ -49,13 +49,13 @@ public:
ELFObjectReader(bool atomizeStrings) : _atomizeStrings(atomizeStrings) {}
virtual bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &) const {
+ const MemoryBuffer &) const override {
return (magic == llvm::sys::fs::file_magic::elf_relocatable);
}
virtual 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;
std::size_t maxAlignment =
1ULL << llvm::countTrailingZeros(uintptr_t(mb->getBufferStart()));
@@ -76,13 +76,13 @@ public:
ELFDSOReader(bool useUndefines) : _useUndefines(useUndefines) {}
virtual bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &) const {
+ const MemoryBuffer &) const override {
return (magic == llvm::sys::fs::file_magic::elf_shared_object);
}
virtual 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 {
std::size_t maxAlignment =
1ULL << llvm::countTrailingZeros(uintptr_t(mb->getBufferStart()));
auto f = createELF<DynamicFileCreateELFTraits>(
diff --git a/lld/lib/ReaderWriter/ELF/SectionChunks.h b/lld/lib/ReaderWriter/ELF/SectionChunks.h
index 66f3d85971e..c5da3cf4fab 100644
--- a/lld/lib/ReaderWriter/ELF/SectionChunks.h
+++ b/lld/lib/ReaderWriter/ELF/SectionChunks.h
@@ -1345,11 +1345,11 @@ public:
this->_msize = this->_fsize;
}
- virtual void doPreFlight() override {
+ void doPreFlight() override {
// TODO: Generate a proper binary search table.
}
- virtual void finalize() override {
+ void finalize() override {
MergedSections<ELFT> *s = _layout.findOutputSection(".eh_frame");
_ehFrameAddr = s ? s->virtualAddr() : 0;
}
diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp b/lld/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
index 48c2fca7a73..79a02a5b82e 100644
--- a/lld/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
+++ b/lld/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
@@ -38,10 +38,10 @@ public:
_name += function;
#endif
}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return makeArrayRef(x86_64InitFiniAtomContent);
}
- virtual Alignment alignment() const { return Alignment(3); }
+ Alignment alignment() const override { return Alignment(3); }
};
class X86_64FiniAtom : public InitFiniAtom {
@@ -53,11 +53,11 @@ public:
_name += function;
#endif
}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return makeArrayRef(x86_64InitFiniAtomContent);
}
- virtual Alignment alignment() const { return Alignment(3); }
+ Alignment alignment() const override { return Alignment(3); }
};
class X86_64InitFiniFile : public SimpleFile {
diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp b/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp
index d513fd7b4b9..e108751a948 100644
--- a/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp
+++ b/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp
@@ -55,7 +55,7 @@ class X86_64GOTAtom : public GOTAtom {
public:
X86_64GOTAtom(const File &f, StringRef secName) : GOTAtom(f, secName) {}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return ArrayRef<uint8_t>(x86_64GotAtomContent, 8);
}
};
@@ -67,7 +67,7 @@ public:
_name = ".PLT0";
#endif
}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return ArrayRef<uint8_t>(x86_64Plt0AtomContent, 16);
}
};
@@ -76,7 +76,7 @@ class X86_64PLTAtom : public PLTAtom {
public:
X86_64PLTAtom(const File &f, StringRef secName) : PLTAtom(f, secName) {}
- virtual ArrayRef<uint8_t> rawContent() const {
+ ArrayRef<uint8_t> rawContent() const override {
return ArrayRef<uint8_t>(x86_64PltAtomContent, 16);
}
};
@@ -220,7 +220,7 @@ public:
///
/// After all references are handled, the atoms created during that are all
/// added to mf.
- virtual void perform(std::unique_ptr<MutableFile> &mf) {
+ void perform(std::unique_ptr<MutableFile> &mf) override {
ScopedTask task(getDefaultDomain(), "X86-64 GOT/PLT Pass");
// Process all references.
for (const auto &atom : mf->defined())
diff --git a/lld/lib/ReaderWriter/FileArchive.cpp b/lld/lib/ReaderWriter/FileArchive.cpp
index fcd6b033d3a..8a23f7ef373 100644
--- a/lld/lib/ReaderWriter/FileArchive.cpp
+++ b/lld/lib/ReaderWriter/FileArchive.cpp
@@ -39,7 +39,7 @@ public:
/// \brief Check if any member of the archive contains an Atom with the
/// specified name and return the File object for that member, or nullptr.
- virtual const File *find(StringRef name, bool dataSymbolOnly) const {
+ const File *find(StringRef name, bool dataSymbolOnly) const override {
auto member = _symbolMemberMap.find(name);
if (member == _symbolMemberMap.end())
return nullptr;
@@ -72,7 +72,7 @@ public:
/// \brief parse each member
virtual error_code
- parseAllMembers(std::vector<std::unique_ptr<File>> &result) const {
+ parseAllMembers(std::vector<std::unique_ptr<File>> &result) const override {
for (auto mf = _archive->child_begin(), me = _archive->child_end();
mf != me; ++mf) {
if (error_code ec = instantiateMember(mf, result))
@@ -81,19 +81,19 @@ public:
return 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 _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;
}
@@ -203,13 +203,13 @@ public:
ArchiveReader(bool logLoading) : _logLoading(logLoading) {}
virtual bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &) const {
+ const MemoryBuffer &) const override {
return (magic == llvm::sys::fs::file_magic::archive);
}
virtual error_code
parseFile(std::unique_ptr<MemoryBuffer> &mb, const Registry &reg,
- std::vector<std::unique_ptr<File>> &result) const {
+ std::vector<std::unique_ptr<File>> &result) const override {
// Make Archive object which will be owned by FileArchive object.
error_code ec;
Archive *archive = new Archive(mb.get(), ec);
diff --git a/lld/lib/ReaderWriter/MachO/WriterMachO.cpp b/lld/lib/ReaderWriter/MachO/WriterMachO.cpp
index b223387473c..e8eb3ff31da 100644
--- a/lld/lib/ReaderWriter/MachO/WriterMachO.cpp
+++ b/lld/lib/ReaderWriter/MachO/WriterMachO.cpp
@@ -32,7 +32,7 @@ class MachOWriter : public Writer {
public:
MachOWriter(const MachOLinkingContext &ctxt) : _context(ctxt) { }
- virtual error_code writeFile(const lld::File &file, StringRef path) {
+ error_code writeFile(const lld::File &file, StringRef path) override {
// Construct empty normalized file from atoms.
ErrorOr<std::unique_ptr<NormalizedFile>> nFile =
normalized::normalizedFromAtoms(file, _context);
@@ -46,7 +46,7 @@ public:
return writeBinary(*nFile->get(), path);
}
- virtual bool createImplicitFiles(std::vector<std::unique_ptr<File> > &r) {
+ bool createImplicitFiles(std::vector<std::unique_ptr<File> > &r) override {
if (_context.outputFileType() == llvm::MachO::MH_EXECUTE) {
// When building main executables, add _main as required entry point.
r.emplace_back(new CRuntimeFile(_context));
diff --git a/lld/lib/ReaderWriter/Native/ReaderNative.cpp b/lld/lib/ReaderWriter/Native/ReaderNative.cpp
index dd00514ebab..be084542037 100644
--- a/lld/lib/ReaderWriter/Native/ReaderNative.cpp
+++ b/lld/lib/ReaderWriter/Native/ReaderNative.cpp
@@ -44,74 +44,74 @@ public:
const NativeDefinedAtomIvarsV1* ivarData)
: _file(&f), _ivarData(ivarData) { }
- virtual const lld::File& file() const;
+ const lld::File& file() const override;
- virtual uint64_t ordinal() const;
+ uint64_t ordinal() const override;
- virtual StringRef name() const;
+ StringRef name() const override;
- virtual uint64_t size() const {
+ uint64_t size() const override {
return _ivarData->contentSize;
}
- virtual DefinedAtom::Scope scope() const {
+ DefinedAtom::Scope scope() const override {
return (DefinedAtom::Scope)(attributes().scope);
}
- virtual DefinedAtom::Interposable interposable() const {
+ DefinedAtom::Interposable interposable() const override {
return (DefinedAtom::Interposable)(attributes().interposable);
}
- virtual DefinedAtom::Merge merge() const {
+ DefinedAtom::Merge merge() const override {
return (DefinedAtom::Merge)(attributes().merge);
}
- virtual DefinedAtom::ContentType contentType() const {
+ DefinedAtom::ContentType contentType() const override {
const NativeAtomAttributesV1& attr = attributes();
return (DefinedAtom::ContentType)(attr.contentType);
}
- virtual DefinedAtom::Alignment alignment() const {
+ DefinedAtom::Alignment alignment() const override {
return DefinedAtom::Alignment(attributes().align2, attributes().alignModulus);
}
- virtual DefinedAtom::SectionChoice sectionChoice() const {
+ DefinedAtom::SectionChoice sectionChoice() const override {
return (DefinedAtom::SectionChoice)(
attributes().sectionChoiceAndPosition >> 4);
}
- virtual StringRef customSectionName() const;
+ StringRef customSectionName() const override;
- virtual SectionPosition sectionPosition() const {
+ SectionPosition sectionPosition() const override {
return (DefinedAtom::SectionPosition)(
attributes().sectionChoiceAndPosition & 0xF);
}
- virtual DefinedAtom::DeadStripKind deadStrip() const {
+ DefinedAtom::DeadStripKind deadStrip() const override {
return (DefinedAtom::DeadStripKind)(attributes().deadStrip);
}
- virtual DynamicExport dynamicExport() const {
+ DynamicExport dynamicExport() const override {
return (DynamicExport)attributes().dynamicExport;
}
- virtual DefinedAtom::ContentPermissions permissions() const {
+ DefinedAtom::ContentPermissions permissions() const override {
return (DefinedAtom::ContentPermissions)(attributes().permissions);
}
- virtual bool isAlias() const {
+ bool isAlias() const override {
return (attributes().alias != 0);
}
- virtual ArrayRef<uint8_t> rawContent() const;
+ ArrayRef<uint8_t> rawContent() const override;
- virtual reference_iterator begin() const;
+ reference_iterator begin() const override;
- virtual reference_iterator end() const;
+ reference_iterator end() const override;
- virtual const Reference* derefIterator(const void*) const;
+ const Reference* derefIterator(const void*) const override;
- virtual void incrementIterator(const void*& it) const;
+ void incrementIterator(const void*& it) const override;
private:
const NativeAtomAttributesV1& attributes() const;
@@ -132,14 +132,14 @@ public:
const NativeUndefinedAtomIvarsV1* ivarData)
: _file(&f), _ivarData(ivarData) { }
- virtual const lld::File& file() const;
- virtual StringRef name() const;
+ const lld::File& file() const override;
+ StringRef name() const override;
- virtual CanBeNull canBeNull() const {
+ CanBeNull canBeNull() const override {
return (CanBeNull)(_ivarData->flags & 0x3);
}
- virtual const UndefinedAtom *fallback() const;
+ const UndefinedAtom *fallback() const override;
private:
const File *_file;
@@ -158,19 +158,19 @@ public:
const NativeSharedLibraryAtomIvarsV1* ivarData)
: _file(&f), _ivarData(ivarData) { }
- virtual const lld::File& file() const;
- virtual StringRef name() const;
- virtual StringRef loadName() const;
+ const lld::File& file() const override;
+ StringRef name() const override;
+ StringRef loadName() const override;
- virtual bool canBeNullAtRuntime() const {
+ bool canBeNullAtRuntime() const override {
return (_ivarData->flags & 0x1);
}
- virtual Type type() const {
+ Type type() const override {
return (Type)_ivarData->type;
}
- virtual uint64_t size() const {
+ uint64_t size() const override {
return _ivarData->size;
}
@@ -190,13 +190,13 @@ public:
const NativeAbsoluteAtomIvarsV1* ivarData)
: _file(&f), _ivarData(ivarData) { }
- virtual const lld::File& file() const;
- virtual StringRef name() const;
- virtual Scope scope() const {
+ const lld::File& file() const override;
+ StringRef name() const override;
+ Scope scope() const override {
const NativeAtomAttributesV1& attr = absAttributes();
return (Scope)(attr.scope);
}
- virtual uint64_t value() const {
+ uint64_t value() const override {
return _ivarData->value;
}
@@ -218,14 +218,14 @@ public:
(KindArch)ivarData->kindArch, ivarData->kindValue),
_file(&f), _ivarData(ivarData) {}
- virtual uint64_t offsetInAtom() const {
+ uint64_t offsetInAtom() const override {
return _ivarData->offsetInAtom;
}
- virtual const Atom* target() const;
- virtual Addend addend() const;
- virtual void setTarget(const Atom* newAtom);
- virtual void setAddend(Addend a);
+ const Atom* target() const override;
+ Addend addend() const override;
+ void setTarget(const Atom* newAtom) override;
+ void setAddend(Addend a) override;
private:
const File *_file;
@@ -244,14 +244,14 @@ public:
(KindArch)ivarData->kindArch, ivarData->kindValue),
_file(&f), _ivarData(ivarData) {}
- virtual uint64_t offsetInAtom() const {
+ uint64_t offsetInAtom() const override {
return _ivarData->offsetInAtom;
}
- virtual const Atom* target() const;
- virtual Addend addend() const;
- virtual void setTarget(const Atom* newAtom);
- virtual void setAddend(Addend a);
+ const Atom* target() const override;
+ Addend addend() const override;
+ void setTarget(const Atom* newAtom) override;
+ void setAddend(Addend a) override;
private:
const File *_file;
@@ -384,16 +384,16 @@ public:
delete [] _targetsTable;
}
- 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;
}
@@ -1003,7 +1003,7 @@ namespace {
class NativeReader : public Reader {
public:
virtual bool canParse(file_magic magic, StringRef,
- const MemoryBuffer &mb) const {
+ const MemoryBuffer &mb) const override {
const NativeFileHeader *const header =
reinterpret_cast<const NativeFileHeader *>(mb.getBufferStart());
return (memcmp(header->magic, NATIVE_FILE_HEADER_MAGIC,
@@ -1012,7 +1012,7 @@ public:
virtual 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 {
return lld::native::File::make(std::move(mb), result);
return error_code::success();
}
diff --git a/lld/lib/ReaderWriter/Native/WriterNative.cpp b/lld/lib/ReaderWriter/Native/WriterNative.cpp
index 317ad42c4f0..5c685caaf87 100644
--- a/lld/lib/ReaderWriter/Native/WriterNative.cpp
+++ b/lld/lib/ReaderWriter/Native/WriterNative.cpp
@@ -32,7 +32,7 @@ class Writer : public lld::Writer {
public:
Writer(const LinkingContext &context) {}
- virtual error_code writeFile(const lld::File &file, StringRef outPath) {
+ error_code writeFile(const lld::File &file, StringRef outPath) override {
// reserve first byte for unnamed atoms
_stringPool.push_back('\0');
// visit all atoms
diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
index dc4c2e11323..30ede7698a9 100644
--- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
+++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
@@ -564,20 +564,20 @@ template <> struct MappingTraits<const lld::File *> {
const lld::File *denormalize(IO &io) { return this; }
- virtual const atom_collection<lld::DefinedAtom> &defined() const {
+ const atom_collection<lld::DefinedAtom> &defined() const override {
return _noDefinedAtoms;
}
- virtual const atom_collection<lld::UndefinedAtom> &undefined() const {
+ const atom_collection<lld::UndefinedAtom> &undefined() const override {
return _noUndefinedAtoms;
}
virtual const atom_collection<lld::SharedLibraryAtom> &
- sharedLibrary() const {
+ sharedLibrary() const override {
return _noSharedLibraryAtoms;
}
- virtual const atom_collection<lld::AbsoluteAtom> &absolute() const {
+ const atom_collection<lld::AbsoluteAtom> &absolute() const override {
return _noAbsoluteAtoms;
}
- virtual const File *find(StringRef name, bool dataSymbolOnly) const {
+ const File *find(StringRef name, bool dataSymbolOnly) const override {
for (const ArchMember &member : _members) {
for (const lld::DefinedAtom *atom : member._content->defined()) {
if (name == atom->name()) {
@@ -597,7 +597,7 @@ template <> struct MappingTraits<const lld::File *> {
}
virtual error_code
- parseAllMembers(std::vector<std::unique_ptr<File>> &result) const {
+ parseAllMembers(std::vector<std::unique_ptr<File>> &result) const override {
return error_code::success();
}
@@ -622,17 +622,17 @@ template <> struct MappingTraits<const lld::File *> {
}
const lld::File *denormalize(IO &io);
- virtual const atom_collection<lld::DefinedAtom> &defined() const {
+ const atom_collection<lld::DefinedAtom> &defined() const override {
return _definedAtoms;
}
- virtual const atom_collection<lld::UndefinedAtom> &undefined() const {
+ const atom_collection<lld::UndefinedAtom> &undefined() const override {
return _undefinedAtoms;
}
virtual const atom_collection<lld::SharedLibraryAtom> &
- sharedLibrary() const {
+ sharedLibrary() const override {
return _sharedLibraryAtoms;
}
- virtual const atom_collection<lld::AbsoluteAtom> &absolute() const {
+ const atom_collection<lld::AbsoluteAtom> &absolute() const override {
return _absoluteAtoms;
}
@@ -727,11 +727,11 @@ template <> struct MappingTraits<const lld::Reference *> {
void bind(const RefNameResolver &);
static StringRef targetName(IO &io, const lld::Reference *ref);
- virtual uint64_t offsetInAtom() const { return _offset; }
- virtual const lld::Atom *target() const { return _target; }
- virtual Addend addend() const { return _addend; }
- virtual void setAddend(Addend a) { _addend = a; }
- virtual void setTarget(const lld::Atom *a) { _target = a; }
+ uint64_t offsetInAtom() const override { return _offset; }
+ const lld::Atom *target() const override { return _target; }
+ Addend addend() const override { return _addend; }
+ void setAddend(Addend a) override { _addend = a; }
+ void setTarget(const lld::Atom *a) override { _target = a; }
const lld::Atom *_target;
StringRef _targetName;
@@ -806,46 +806,46 @@ template <> struct MappingTraits<const lld::DefinedAtom *> {
return *info->_file;
}
- virtual const lld::File &file() const { return _file; }
- virtual StringRef name() const { return _name; }
- virtual uint64_t size() const { return _size; }
- virtual Scope scope() const { return _scope; }
- virtual Interposable interposable() const { return _interpose; }
- virtual Merge merge() const { return _merge; }
- virtual ContentType contentType() const { return _contentType; }
- virtual Alignment alignment() const { return _alignment; }
- virtual SectionChoice sectionChoice() const { return _sectionChoice; }
- virtual StringRef customSectionName() const { return _sectionName; }
- virtual SectionPosition sectionPosition() const { return _sectionPosition; }
- virtual DeadStripKind deadStrip() const { return _deadStrip; }
- virtual DynamicExport dynamicExport() const { return _dynamicExport; }
- virtual ContentPermissions permissions() const { return _permissions; }
- virtual bool isAlias() const { return false; }
- ArrayRef<uint8_t> rawContent() const {
+ const lld::File &file() const override { return _file; }
+ StringRef name() const override { return _name; }
+ uint64_t size() const override { return _size; }
+ Scope scope() const override { return _scope; }
+ Interposable interposable() const override { return _interpose; }
+ Merge merge() const override { return _merge; }
+ ContentType contentType() const override { return _contentType; }
+ Alignment alignment() const override { return _alignment; }
+ SectionChoice sectionChoice() const override { return _sectionChoice; }
+ StringRef customSectionName() const override { return _sectionName; }
+ SectionPosition sectionPosition() const override { return _sectionPosition; }
+ DeadStripKind deadStrip() const override { return _deadStrip; }
+ DynamicExport dynamicExport() const override { return _dynamicExport; }
+ ContentPermissions permissions() const override { return _permissions; }
+ bool isAlias() const override { return false; }
+ ArrayRef<uint8_t> rawContent() const override {
if (!occupiesDiskSpace())
return ArrayRef<uint8_t>();
return ArrayRef<uint8_t>(
reinterpret_cast<const uint8_t *>(_content.data()), _content.size());
}
- virtual uint64_t ordinal() const { return _ordinal; }
+ uint64_t ordinal() const override { return _ordinal; }
- reference_iterator begin() const {
+ reference_iterator begin() const override {
uintptr_t index = 0;
const void *it = reinterpret_cast<const void *>(index);
return reference_iterator(*this, it);
}
- reference_iterator end() const {
+ reference_iterator end() const override {
uintptr_t index = _references.size();
const void *it = reinterpret_cast<const void *>(index);
return reference_iterator(*this, it);
}
- const lld::Reference *derefIterator(const void *it) const {
+ const lld::Reference *derefIterator(const void *it) const override {
uintptr_t index = reinterpret_cast<uintptr_t>(it);
assert(index < _references.size());
return _references[index];
}
- void incrementIterator(const void *&it) const {
+ void incrementIterator(const void *&it) const override {
uintptr_t index = reinterpret_cast<uintptr_t>(it);
++index;
it = reinterpret_cast<const void *>(index);
@@ -953,10 +953,10 @@ template <> struct MappingTraits<const lld::UndefinedAtom *> {
return *info->_file;
}
- virtual const lld::File &file() const { return _file; }
- virtual StringRef name() const { return _name; }
- virtual CanBeNull canBeNull() const { return _canBeNull; }
- virtual const UndefinedAtom *fallback() const { return _fallback; }
+ const lld::File &file() const override { return _file; }
+ StringRef name() const override { return _name; }
+ CanBeNull canBeNull() const override { return _canBeNull; }
+ const UndefinedAtom *fallback() const override { return _fallback; }
const lld::File &_file;
StringRef _name;
@@ -1014,12 +1014,12 @@ template <> struct MappingTraits<const lld::SharedLibraryAtom *> {
return *info->_file;
}
- virtual const lld::File &file() const { return _file; }
- virtual StringRef name() const { return _name; }
- virtual StringRef loadName() const { return _loadName; }
- virtual bool canBeNullAtRuntime() const { return _canBeNull; }
- virtual Type type() const { return _type; }
- virtual uint64_t size() const { return _size; }
+ const lld::File &file() const override { return _file; }
+ StringRef name() const override { return _name; }
+ StringRef loadName() const override { return _loadName; }
+ bool canBeNullAtRuntime() const override { return _canBeNull; }
+ Type type() const override { return _type; }
+ uint64_t size() const override { return _size; }
const lld::File &_file;
StringRef _name;
@@ -1074,10 +1074,10 @@ template <> struct MappingTraits<const lld::AbsoluteAtom *> {
return *info->_file;
}
- virtual const lld::File &file() const { return _file; }
- virtual StringRef name() const { return _name; }
- virtual uint64_t value() const { return _value; }
- virtual Scope scope() const { return _scope; }
+ const lld::File &file() const override { return _file; }
+ StringRef name() const override { return _name; }
+ uint64_t value() const override { return _value; }
+ Scope scope() const override { return _scope; }
const lld::File &_file;
StringRef _name;
@@ -1190,7 +1190,7 @@ class Writer : public lld::Writer {
public:
Writer(const LinkingContext &context) : _context(context) {}
- virtual error_code writeFile(const lld::File &file, StringRef outPath) {
+ error_code writeFile(const lld::File &file, StringRef outPath) override {
// Create stream to path.
std::string errorInfo;
llvm::raw_fd_ostream out(outPath.data(), errorInfo, llvm::sys::fs::F_Text);
@@ -1220,7 +1220,7 @@ namespace {
/// Handles !native tagged yaml documents.
class NativeYamlIOTaggedDocumentHandler : public YamlIOTaggedDocumentHandler {
- bool handledDocTag(llvm::yaml::IO &io, const lld::File *&file) const {
+ bool handledDocTag(llvm::yaml::IO &io, const lld::File *&file) const override {
if (io.mapTag("!native")) {
MappingTraits<const lld::File *>::mappingAtoms(io, file);
return true;
@@ -1232,7 +1232,7 @@ class NativeYamlIOTaggedDocumentHandler : public YamlIOTaggedDocumentHandler {
/// Handles !archive tagged yaml documents.
class ArchiveYamlIOTaggedDocumentHandler : public YamlIOTaggedDocumentHandler {
- bool handledDocTag(llvm::yaml::IO &io, const lld::File *&file) const {
+ bool handledDocTag(llvm::yaml::IO &io, const lld::File *&file) const override {
if (io.mapTag("!archive")) {
MappingTraits<const lld::File *>::mappingArchive(io, file);
return true;
@@ -1247,13 +1247,13 @@ class YAMLReader : public Reader {
public:
YAMLReader(const Registry &registry) : _registry(registry) {}
- virtual bool canParse(file_magic, StringRef ext, const MemoryBuffer &) const {
+ bool canParse(file_magic, StringRef ext, const MemoryBuffer &) const override {
return (ext.equals(".objtxt") || ext.equals(".yaml"));
}
- 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 {
// Note: we do not take ownership of the MemoryBuffer. That is
// because yaml may produce multiple File objects, so there is no
// *one* File to take ownership. Therefore, the yaml File objects
OpenPOWER on IntegriCloud