diff options
Diffstat (limited to 'lib/ReaderWriter/MachO/Atoms.h')
| -rw-r--r-- | lib/ReaderWriter/MachO/Atoms.h | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/lib/ReaderWriter/MachO/Atoms.h b/lib/ReaderWriter/MachO/Atoms.h index 8d60c1a163a6..9f2e5acad99a 100644 --- a/lib/ReaderWriter/MachO/Atoms.h +++ b/lib/ReaderWriter/MachO/Atoms.h @@ -25,11 +25,11 @@ public: // Constructor for zero-fill content MachODefinedAtom(const File &f, const StringRef name, Scope scope, - uint64_t size, bool noDeadStrip, Alignment align) + ContentType type, uint64_t size, bool noDeadStrip, + Alignment align) : SimpleDefinedAtom(f), _name(name), _content(ArrayRef<uint8_t>(nullptr, size)), _align(align), - _contentType(DefinedAtom::typeZeroFill), - _scope(scope), _merge(mergeNo), _thumb(false), + _contentType(type), _scope(scope), _merge(mergeNo), _thumb(false), _noDeadStrip(noDeadStrip) {} uint64_t size() const override { return _content.size(); } @@ -103,7 +103,6 @@ private: StringRef _sectionName; }; - class MachOTentativeDefAtom : public SimpleDefinedAtom { public: MachOTentativeDefAtom(const File &f, const StringRef name, Scope scope, @@ -126,7 +125,7 @@ public: ArrayRef<uint8_t> rawContent() const override { return ArrayRef<uint8_t>(); } private: - const StringRef _name; + const std::string _name; const Scope _scope; const uint64_t _size; const DefinedAtom::Alignment _align; @@ -138,32 +137,26 @@ public: StringRef dylibInstallName, bool weakDef) : SharedLibraryAtom(), _file(file), _name(name), _dylibInstallName(dylibInstallName) {} - virtual ~MachOSharedLibraryAtom() {} + ~MachOSharedLibraryAtom() override = default; - virtual StringRef loadName() const override { - return _dylibInstallName; - } + StringRef loadName() const override { return _dylibInstallName; } - virtual bool canBeNullAtRuntime() const override { + bool canBeNullAtRuntime() const override { // FIXME: this may actually be changeable. For now, all symbols are strongly // defined though. return false; } - virtual const File& file() const override { - return _file; - } + const File &file() const override { return _file; } - virtual StringRef name() const override { - return _name; - } + StringRef name() const override { return _name; } - virtual Type type() const override { + Type type() const override { // Unused in MachO (I think). return Type::Unknown; } - virtual uint64_t size() const override { + uint64_t size() const override { // Unused in MachO (I think) return 0; } @@ -174,8 +167,7 @@ private: StringRef _dylibInstallName; }; +} // namespace mach_o +} // namespace lld -} // mach_o -} // lld - -#endif +#endif // LLD_READER_WRITER_MACHO_ATOMS_H |
