diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DIERef.h')
-rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/DIERef.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h b/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h index 5546bb7e8b86..f7e09ee17283 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#ifndef SymbolFileDWARF_DIERef_h_ -#define SymbolFileDWARF_DIERef_h_ +#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DIEREF_H +#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DIEREF_H #include "lldb/Core/dwarf.h" #include "llvm/ADT/Optional.h" @@ -44,6 +44,16 @@ public: dw_offset_t die_offset() const { return m_die_offset; } + bool operator<(DIERef other) const { + if (m_dwo_num_valid != other.m_dwo_num_valid) + return m_dwo_num_valid < other.m_dwo_num_valid; + if (m_dwo_num_valid && (m_dwo_num != other.m_dwo_num)) + return m_dwo_num < other.m_dwo_num; + if (m_section != other.m_section) + return m_section < other.m_section; + return m_die_offset < other.m_die_offset; + } + private: uint32_t m_dwo_num : 30; uint32_t m_dwo_num_valid : 1; @@ -60,4 +70,4 @@ template<> struct format_provider<DIERef> { }; } // namespace llvm -#endif // SymbolFileDWARF_DIERef_h_ +#endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DIEREF_H |