http://llvm.org/bugs/show_bug.cgi?id=11618
lldb::SBValue::AddressOf does not work on dereferenced registers in synthetic children provider

Patch submitted by Enrico Granata.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147637 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Expression/ClangExpressionVariable.cpp b/source/Expression/ClangExpressionVariable.cpp
index 9a264eb..ec08a0c 100644
--- a/source/Expression/ClangExpressionVariable.cpp
+++ b/source/Expression/ClangExpressionVariable.cpp
@@ -133,3 +133,15 @@
     m_frozen_sp->ValueUpdated ();
 }
 
+void
+ClangExpressionVariable::TransferAddress (bool force)
+{
+    if (m_live_sp.get() == NULL)
+        return;
+
+    if (m_frozen_sp.get() == NULL)
+        return;
+    
+    if (force || (m_frozen_sp->GetLiveAddress() == LLDB_INVALID_ADDRESS))
+        m_frozen_sp->SetLiveAddress(m_live_sp->GetLiveAddress());
+}