aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Target/ThreadPlanCallFunction.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2012-04-09 22:37:39 +0000
committerJim Ingham <jingham@apple.com>2012-04-09 22:37:39 +0000
commitcf274f910e3885035c278c4ea9df770678d3a8dd (patch)
tree337ed77a018d0bb913420cee1010fd9db1ea4dc8 /lldb/source/Target/ThreadPlanCallFunction.cpp
parent383fda29befaca805e04d8160ada6234a75d2ec4 (diff)
downloadllvm-cf274f910e3885035c278c4ea9df770678d3a8dd.zip
llvm-cf274f910e3885035c278c4ea9df770678d3a8dd.tar.gz
llvm-cf274f910e3885035c278c4ea9df770678d3a8dd.tar.bz2
Rework how master plans declare themselves. Also make "PlanIsBasePlan" not rely only on this being the bottom plan in the stack, but allow the plan to declare itself as such.
llvm-svn: 154351
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallFunction.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanCallFunction.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadPlanCallFunction.cpp b/lldb/source/Target/ThreadPlanCallFunction.cpp
index 09bdd3d..9f6c18e 100644
--- a/lldb/source/Target/ThreadPlanCallFunction.cpp
+++ b/lldb/source/Target/ThreadPlanCallFunction.cpp
@@ -52,6 +52,9 @@ ThreadPlanCallFunction::ThreadPlanCallFunction (Thread &thread,
m_takedown_done (false),
m_stop_address (LLDB_INVALID_ADDRESS)
{
+ // Call function thread plans need to be master plans so that they can potentially stay on the stack when
+ // a breakpoint is hit during the function call.
+ SetIsMasterPlan (true);
SetOkayToDiscard (discard_on_error);
ProcessSP process_sp (thread.GetProcess());
@@ -172,6 +175,9 @@ ThreadPlanCallFunction::ThreadPlanCallFunction (Thread &thread,
m_return_type (return_type),
m_takedown_done (false)
{
+ // Call function thread plans need to be master plans so that they can potentially stay on the stack when
+ // a breakpoint is hit during the function call.
+ SetIsMasterPlan (true);
SetOkayToDiscard (discard_on_error);
ProcessSP process_sp (thread.GetProcess());