summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanCallUserExpression.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2013-01-15 02:47:48 +0000
committerJim Ingham <jingham@apple.com>2013-01-15 02:47:48 +0000
commit184e981111d74fe650b7ea4506adc9bc356273ee (patch)
tree63abd3ef966759715411399c4d4be97325611df5 /lldb/source/Target/ThreadPlanCallUserExpression.cpp
parented1950719b38c2dde6d3c1efe1f216a7d90a04b4 (diff)
downloadbcm5719-llvm-184e981111d74fe650b7ea4506adc9bc356273ee.tar.gz
bcm5719-llvm-184e981111d74fe650b7ea4506adc9bc356273ee.zip
Separated the "expr --unwind-on-error" behavior into two parts, actual errors (i.e. crashes) which continue to be
controlled by the --unwind-on-error flag, and --ignore-breakpoint which separately controls behavior when a called function hits a breakpoint. For breakpoints, we don't unwind, we either stop, or ignore the breakpoint, which makes more sense. Also make both these behaviors globally settable through "settings set". Also handle the case where a breakpoint command calls code that ends up re-hitting the breakpoint. We were recursing and crashing. Now we just stop without calling the second command. <rdar://problem/12986644> <rdar://problem/9119325> llvm-svn: 172503
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallUserExpression.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanCallUserExpression.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lldb/source/Target/ThreadPlanCallUserExpression.cpp b/lldb/source/Target/ThreadPlanCallUserExpression.cpp
index f739d2aef2c..6e478089db7 100644
--- a/lldb/source/Target/ThreadPlanCallUserExpression.cpp
+++ b/lldb/source/Target/ThreadPlanCallUserExpression.cpp
@@ -40,11 +40,12 @@ ThreadPlanCallUserExpression::ThreadPlanCallUserExpression (Thread &thread,
Address &function,
lldb::addr_t arg,
bool stop_other_threads,
- bool discard_on_error,
+ bool unwind_on_error,
+ bool ignore_breakpoints,
lldb::addr_t *this_arg,
lldb::addr_t *cmd_arg,
ClangUserExpression::ClangUserExpressionSP &user_expression_sp) :
- ThreadPlanCallFunction (thread, function, ClangASTType(), arg, stop_other_threads, discard_on_error, this_arg, cmd_arg),
+ ThreadPlanCallFunction (thread, function, ClangASTType(), arg, stop_other_threads, unwind_on_error, ignore_breakpoints, this_arg, cmd_arg),
m_user_expression_sp (user_expression_sp)
{
// User expressions are generally "User generated" so we should set them up to stop when done.
OpenPOWER on IntegriCloud