diff options
| author | Tamas Berghammer <tberghammer@google.com> | 2016-02-26 14:21:10 +0000 |
|---|---|---|
| committer | Tamas Berghammer <tberghammer@google.com> | 2016-02-26 14:21:10 +0000 |
| commit | 5b42c7aa25b826747318824340ff229a60670b42 (patch) | |
| tree | b37deb5cb042a956967ce56c53b225af665a1295 /lldb/source/Target/StackFrame.cpp | |
| parent | 38f912ea00da6d9b62d76a81ae042e39d8c1e852 (diff) | |
| download | bcm5719-llvm-5b42c7aa25b826747318824340ff229a60670b42.tar.gz bcm5719-llvm-5b42c7aa25b826747318824340ff229a60670b42.zip | |
Add support for DW_OP_push_object_address in dwarf expressions
Additionally fix the type of some dwarf expression where we had a
confusion between scalar and load address types after a dereference.
Differential revision: http://reviews.llvm.org/D17604
llvm-svn: 262014
Diffstat (limited to 'lldb/source/Target/StackFrame.cpp')
| -rw-r--r-- | lldb/source/Target/StackFrame.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lldb/source/Target/StackFrame.cpp b/lldb/source/Target/StackFrame.cpp index 8a7356d3c9c..1d1a68fd334 100644 --- a/lldb/source/Target/StackFrame.cpp +++ b/lldb/source/Target/StackFrame.cpp @@ -1221,8 +1221,15 @@ StackFrame::GetFrameBaseValue (Scalar &frame_base, Error *error_ptr) if (m_sc.function->GetFrameBaseExpression().IsLocationList()) loclist_base_addr = m_sc.function->GetAddressRange().GetBaseAddress().GetLoadAddress (exe_ctx.GetTargetPtr()); - if (!m_sc.function->GetFrameBaseExpression().Evaluate(&exe_ctx, nullptr, nullptr, nullptr, loclist_base_addr, - nullptr, expr_value, &m_frame_base_error)) + if (m_sc.function->GetFrameBaseExpression().Evaluate(&exe_ctx, + nullptr, + nullptr, + nullptr, + loclist_base_addr, + nullptr, + nullptr, + expr_value, + &m_frame_base_error) == false) { // We should really have an error if evaluate returns, but in case // we don't, lets set the error to something at least. |

