aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Fiala <tfiala@google.com>2013-11-05 11:17:04 -0800
committerTodd Fiala <tfiala@google.com>2013-11-05 18:27:49 -0800
commit8aaa52329ade20107fe28af7085b0a1f395816a8 (patch)
tree7a30c611e9578fdb50f3360ed899fad2cc43a3eb
parentd55c5b19487ef22383a32548f1143f1dfac2478f (diff)
downloadlldb-8aaa52329ade20107fe28af7085b0a1f395816a8.tar.gz
Fixes for LLDB build to work around host 4.6.2+ compiler issues.android-wear-5.0.0_r1android-cts-5.1_r9android-cts-5.1_r8android-cts-5.1_r7android-cts-5.1_r6android-cts-5.1_r5android-cts-5.1_r4android-cts-5.1_r3android-cts-5.1_r28android-cts-5.1_r27android-cts-5.1_r26android-cts-5.1_r25android-cts-5.1_r24android-cts-5.1_r23android-cts-5.1_r22android-cts-5.1_r21android-cts-5.1_r20android-cts-5.1_r2android-cts-5.1_r19android-cts-5.1_r18android-cts-5.1_r17android-cts-5.1_r16android-cts-5.1_r15android-cts-5.1_r14android-cts-5.1_r13android-cts-5.1_r10android-cts-5.1_r1android-cts-5.0_r9android-cts-5.0_r8android-cts-5.0_r7android-cts-5.0_r6android-cts-5.0_r5android-cts-5.0_r4android-cts-5.0_r3android-5.1.1_r9android-5.1.1_r8android-5.1.1_r7android-5.1.1_r6android-5.1.1_r5android-5.1.1_r4android-5.1.1_r38android-5.1.1_r37android-5.1.1_r36android-5.1.1_r35android-5.1.1_r34android-5.1.1_r33android-5.1.1_r30android-5.1.1_r3android-5.1.1_r29android-5.1.1_r28android-5.1.1_r26android-5.1.1_r25android-5.1.1_r24android-5.1.1_r23android-5.1.1_r22android-5.1.1_r20android-5.1.1_r2android-5.1.1_r19android-5.1.1_r18android-5.1.1_r17android-5.1.1_r16android-5.1.1_r15android-5.1.1_r14android-5.1.1_r13android-5.1.1_r12android-5.1.1_r10android-5.1.1_r1android-5.1.0_r5android-5.1.0_r4android-5.1.0_r3android-5.1.0_r1android-5.0.2_r3android-5.0.2_r1android-5.0.1_r1android-5.0.0_r7android-5.0.0_r6android-5.0.0_r5.1android-5.0.0_r5android-5.0.0_r4android-5.0.0_r3android-5.0.0_r2android-5.0.0_r1lollipop-wear-releaselollipop-releaselollipop-mr1-wfc-releaselollipop-mr1-releaselollipop-mr1-fi-releaselollipop-mr1-devlollipop-mr1-cts-releaselollipop-devlollipop-cts-release
These fixes to the LLDB source add manual copy constructor and operator=() methods for classes that use member bitfields and are used in templated containers. The intent is to keep this change (and related LLVM and clang changes) local to android only until we either fix the compiler or use a new one for host executable builds.
-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);