Modified ClangExpressionDeclMap to use existing
ValueObjects when creating variables referring to
live data rather than constructing
ValueObjectConstResults.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145437 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Expression/ClangExpressionDeclMap.cpp b/source/Expression/ClangExpressionDeclMap.cpp
index 0ca8808..6da3e44 100644
--- a/source/Expression/ClangExpressionDeclMap.cpp
+++ b/source/Expression/ClangExpressionDeclMap.cpp
@@ -2507,7 +2507,7 @@
             // If we found a variable in scope, no need to pull up function names
             if (err.Success() && var != NULL)
             {
-                AddOneVariable(context, var, current_id);
+                AddOneVariable(context, var, valobj, current_id);
                 context.m_found.variable = true;
                 return;
             }
@@ -2522,7 +2522,8 @@
             
             if (var)
             {
-                AddOneVariable(context, var, current_id);
+                valobj = frame->TrackGlobalVariable(var, eNoDynamicValues);
+                AddOneVariable(context, var, valobj, current_id);
                 context.m_found.variable = true;
             }
         }
@@ -2728,7 +2729,7 @@
 }
 
 void
-ClangExpressionDeclMap::AddOneVariable (NameSearchContext &context, VariableSP var, unsigned int current_id)
+ClangExpressionDeclMap::AddOneVariable (NameSearchContext &context, VariableSP var, ValueObjectSP valobj, unsigned int current_id)
 {
     assert (m_parser_vars.get());
     
@@ -2757,11 +2758,8 @@
         
     std::string decl_name(context.m_decl_name.getAsString());
     ConstString entity_name(decl_name.c_str());
-    ClangExpressionVariableSP entity(m_found_entities.CreateVariable (m_parser_vars->m_exe_ctx->GetBestExecutionContextScope (),
-                                                                      entity_name, 
-                                                                      ut,
-                                                                      m_parser_vars->m_target_info.byte_order,
-                                                                      m_parser_vars->m_target_info.address_byte_size));
+    ClangExpressionVariableSP entity(m_found_entities.CreateVariable (valobj));
+    
     assert (entity.get());
     entity->EnableParserVars();
     entity->m_parser_vars->m_parser_type = pt;