diff options
author | Rui Ueyama <ruiu@google.com> | 2014-03-06 21:14:04 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-03-06 21:14:04 +0000 |
commit | 16e543bc02d812cb1aeb8e4dd394414934c154d3 (patch) | |
tree | 0e7db2b865ffba466ca750742bf3cb4f54ea9cc6 /lld/lib/ReaderWriter | |
parent | 9cce17a23ac8e18600cef0a9946557e434545d92 (diff) | |
download | bcm5719-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.cpp | 108 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/ArrayOrderPass.h | 2 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/Atoms.h | 2 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp | 2 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp | 8 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp | 18 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/Reader.cpp | 8 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/SectionChunks.h | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp | 8 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp | 8 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/FileArchive.cpp | 16 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/WriterMachO.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/Native/ReaderNative.cpp | 102 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/Native/WriterNative.cpp | 2 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp | 112 |
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 ®, - 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 ®istry) : _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 |