summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/StackFrame.cpp
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2016-02-26 14:21:10 +0000
committerTamas Berghammer <tberghammer@google.com>2016-02-26 14:21:10 +0000
commit5b42c7aa25b826747318824340ff229a60670b42 (patch)
treeb37deb5cb042a956967ce56c53b225af665a1295 /lldb/source/Target/StackFrame.cpp
parent38f912ea00da6d9b62d76a81ae042e39d8c1e852 (diff)
downloadbcm5719-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.cpp11
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.
OpenPOWER on IntegriCloud