summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanStepOverRange.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2014-08-06 01:49:59 +0000
committerJim Ingham <jingham@apple.com>2014-08-06 01:49:59 +0000
commit862d1bbdf6f763b93e42ac1419f58e01f02be37f (patch)
tree3e24ec7df73f2ceb6de3b63cf94c5efd4b4f4f80 /lldb/source/Target/ThreadPlanStepOverRange.cpp
parent515c24b7e05c68fe71db4783e1398357ea6fc7a4 (diff)
downloadbcm5719-llvm-862d1bbdf6f763b93e42ac1419f58e01f02be37f.tar.gz
bcm5719-llvm-862d1bbdf6f763b93e42ac1419f58e01f02be37f.zip
When stepping, handle the case where the step leaves us with
the same parent frame, but different current frame - e.g. when you step past a tail call exit from a function. Apply the same "avoid-no-debug" rules to this case as for a "step-in". <rdar://problem/16189225> llvm-svn: 214946
Diffstat (limited to 'lldb/source/Target/ThreadPlanStepOverRange.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanStepOverRange.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadPlanStepOverRange.cpp b/lldb/source/Target/ThreadPlanStepOverRange.cpp
index 8363183a420..a4f3743346e 100644
--- a/lldb/source/Target/ThreadPlanStepOverRange.cpp
+++ b/lldb/source/Target/ThreadPlanStepOverRange.cpp
@@ -90,6 +90,10 @@ ThreadPlanStepOverRange::SetupAvoidNoDebug(LazyBool step_out_avoids_code_without
GetFlags().Set (ThreadPlanShouldStopHere::eStepOutAvoidNoDebug);
else
GetFlags().Clear (ThreadPlanShouldStopHere::eStepOutAvoidNoDebug);
+ // Step Over plans should always avoid no-debug on step in. Seems like you shouldn't
+ // have to say this, but a tail call looks more like a step in that a step out, so
+ // we want to catch this case.
+ GetFlags().Set (ThreadPlanShouldStopHere::eStepInAvoidNoDebug);
}
bool
OpenPOWER on IntegriCloud