aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/lldb/DataFormatters/FormatCache.h3
-rw-r--r--source/DataFormatters/FormatCache.cpp19
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h29
3 files changed, 51 insertions, 0 deletions
diff --git a/include/lldb/DataFormatters/FormatCache.h b/include/lldb/DataFormatters/FormatCache.h
index 941b96c1f..884200b1b 100644
--- a/include/lldb/DataFormatters/FormatCache.h
+++ b/include/lldb/DataFormatters/FormatCache.h
@@ -34,10 +34,13 @@ private:
lldb::SyntheticChildrenSP m_synthetic_sp;
public:
Entry ();
+ Entry (const Entry& rhs);
Entry (lldb::TypeSummaryImplSP);
Entry (lldb::SyntheticChildrenSP);
Entry (lldb::TypeSummaryImplSP,lldb::SyntheticChildrenSP);
+ Entry& operator= (const Entry& rhs);
+
bool
IsSummaryCached ();
diff --git a/source/DataFormatters/FormatCache.cpp b/source/DataFormatters/FormatCache.cpp
index af7b1c386..89d6ad49e 100644
--- a/source/DataFormatters/FormatCache.cpp
+++ b/source/DataFormatters/FormatCache.cpp
@@ -28,6 +28,13 @@ m_summary_sp(),
m_synthetic_sp()
{}
+FormatCache::Entry::Entry (const Entry& rhs) :
+m_summary_cached(rhs.m_summary_cached),
+m_synthetic_cached(rhs.m_synthetic_cached),
+m_summary_sp(rhs.m_summary_sp),
+m_synthetic_sp(rhs.m_synthetic_sp)
+{}
+
FormatCache::Entry::Entry (lldb::TypeSummaryImplSP summary_sp) :
m_synthetic_cached(false),
m_synthetic_sp()
@@ -48,6 +55,18 @@ FormatCache::Entry::Entry (lldb::TypeSummaryImplSP summary_sp,lldb::SyntheticChi
SetSynthetic (synthetic_sp);
}
+FormatCache::Entry& FormatCache::Entry::operator= (const Entry& rhs)
+{
+ if (this == &rhs)
+ return *this;
+
+ m_summary_cached = rhs.m_summary_cached;
+ m_synthetic_cached = rhs.m_synthetic_cached;
+ m_summary_sp = rhs.m_summary_sp;
+ m_synthetic_sp = rhs.m_synthetic_sp;
+ return *this;
+}
+
bool
FormatCache::Entry::IsSummaryCached ()
{
diff --git a/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h b/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
index cfa8654ed..3cc7dc657 100644
--- a/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
+++ b/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
@@ -110,6 +110,35 @@ public:
typedef collection::const_iterator const_iterator;
Row(bool default_is_stmt = false);
+ Row(const Row& rhs) :
+ address(rhs.address),
+ line(rhs.line),
+ column(rhs.column),
+ file(rhs.file),
+ is_stmt(rhs.is_stmt),
+ basic_block(rhs.basic_block),
+ end_sequence(rhs.end_sequence),
+ prologue_end(rhs.prologue_end),
+ epilogue_begin(rhs.epilogue_begin),
+ isa(rhs.isa)
+ {}
+ Row& operator =(const Row& rhs)
+ {
+ if (&rhs == this)
+ return *this;
+
+ address = rhs.address;
+ line = rhs.line;
+ column = rhs.column;
+ file = rhs.file;
+ is_stmt = rhs.is_stmt;
+ basic_block = rhs.basic_block;
+ end_sequence = rhs.end_sequence;
+ prologue_end = rhs.prologue_end;
+ epilogue_begin = rhs.epilogue_begin;
+ isa = rhs.isa;
+ return *this;
+ }
virtual ~Row() {}
void PostAppend ();
void Reset(bool default_is_stmt);