summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBFrame.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2014-02-19 19:35:13 +0000
committerEnrico Granata <egranata@apple.com>2014-02-19 19:35:13 +0000
commit8a2a0dfba5c1224bc5a79d99156133de37767e30 (patch)
tree05fb7c8440db276974cab7a8c7661bfad02b209c /lldb/source/API/SBFrame.cpp
parente3f902c32a5a92fee5b263b4f79e8ac93bfae0c8 (diff)
downloadbcm5719-llvm-8a2a0dfba5c1224bc5a79d99156133de37767e30.tar.gz
bcm5719-llvm-8a2a0dfba5c1224bc5a79d99156133de37767e30.zip
Restore the ability of SBFrame::FindValue() to look for file global variables
This should clean up the new test failures caused by r201614 llvm-svn: 201710
Diffstat (limited to 'lldb/source/API/SBFrame.cpp')
-rw-r--r--lldb/source/API/SBFrame.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/lldb/source/API/SBFrame.cpp b/lldb/source/API/SBFrame.cpp
index 7d0a03f7103..44fc654c44b 100644
--- a/lldb/source/API/SBFrame.cpp
+++ b/lldb/source/API/SBFrame.cpp
@@ -845,6 +845,8 @@ SBFrame::FindValue (const char *name, ValueType value_type, lldb::DynamicValueTy
frame = exe_ctx.GetFramePtr();
if (frame)
{
+ VariableList variable_list;
+
switch (value_type)
{
case eValueTypeVariableGlobal: // global variable
@@ -852,8 +854,7 @@ SBFrame::FindValue (const char *name, ValueType value_type, lldb::DynamicValueTy
case eValueTypeVariableArgument: // function argument variables
case eValueTypeVariableLocal: // function local variables
{
- VariableList variable_list;
-
+
SymbolContext sc (frame->GetSymbolContext (eSymbolContextBlock));
const bool can_create = true;
@@ -865,6 +866,13 @@ SBFrame::FindValue (const char *name, ValueType value_type, lldb::DynamicValueTy
stop_if_block_is_inlined_function,
&variable_list))
{
+ if (value_type == eValueTypeVariableGlobal)
+ {
+ const bool get_file_globals = true;
+ VariableList* frame_vars = frame->GetVariableList(get_file_globals);
+ if (frame_vars)
+ frame_vars->AppendVariablesIfUnique(variable_list);
+ }
ConstString const_name(name);
VariableSP variable_sp(variable_list.FindVariable(const_name,value_type));
if (variable_sp)
OpenPOWER on IntegriCloud