summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/DIE.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/CodeGen/DIE.h')
-rw-r--r--include/llvm/CodeGen/DIE.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/DIE.h b/include/llvm/CodeGen/DIE.h
index 95c4b4248bbd0..a40147336fe2c 100644
--- a/include/llvm/CodeGen/DIE.h
+++ b/include/llvm/CodeGen/DIE.h
@@ -793,6 +793,9 @@ class DIEUnit {
uint32_t Length; /// The length in bytes of all of the DIEs in this unit.
const uint16_t Version; /// The Dwarf version number for this unit.
const uint8_t AddrSize; /// The size in bytes of an address for this unit.
+protected:
+ ~DIEUnit() = default;
+
public:
DIEUnit(uint16_t Version, uint8_t AddrSize, dwarf::Tag UnitTag);
DIEUnit(const DIEUnit &RHS) = delete;
@@ -808,6 +811,10 @@ public:
this->Section = Section;
}
+ virtual const MCSymbol *getCrossSectionRelativeBaseAddress() const {
+ return nullptr;
+ }
+
/// Return the section that this DIEUnit will be emitted into.
///
/// \returns Section pointer which can be NULL.
@@ -822,7 +829,11 @@ public:
const DIE &getUnitDie() const { return Die; }
};
-
+struct BasicDIEUnit final : DIEUnit {
+ BasicDIEUnit(uint16_t Version, uint8_t AddrSize, dwarf::Tag UnitTag)
+ : DIEUnit(Version, AddrSize, UnitTag) {}
+};
+
//===--------------------------------------------------------------------===//
/// DIELoc - Represents an expression location.
//