diff options
author | Enrico Granata <egranata@apple.com> | 2014-02-19 19:35:13 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2014-02-19 19:35:13 +0000 |
commit | 8a2a0dfba5c1224bc5a79d99156133de37767e30 (patch) | |
tree | 05fb7c8440db276974cab7a8c7661bfad02b209c /lldb/source/API/SBFrame.cpp | |
parent | e3f902c32a5a92fee5b263b4f79e8ac93bfae0c8 (diff) | |
download | bcm5719-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.cpp | 12 |
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) |