summaryrefslogtreecommitdiff
path: root/lib/ReaderWriter/MachO/Atoms.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2015-12-30 11:57:38 +0000
committerDimitry Andric <dim@FreeBSD.org>2015-12-30 11:57:38 +0000
commit5a5c549fe9a3fef595297bd21d36bed8409dc37d (patch)
treea964c8f5ac85b7b641cac022c5f9bf4eed3d2b9b /lib/ReaderWriter/MachO/Atoms.h
parentfb911942f1434f3d1750f83f25f5e42c80e60638 (diff)
Notes
Diffstat (limited to 'lib/ReaderWriter/MachO/Atoms.h')
-rw-r--r--lib/ReaderWriter/MachO/Atoms.h36
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